On Tue, Feb 01, 2022 at 10:03:57AM +0100, Jakub Jelinek via Gcc-patches wrote:
> I wonder if we shouldn't replace that
>       toks[0] = pfile->directive_result;
> line with
>       toks[0] = pfile->avoid_paste;
> or even replace those
>       toks = XNEW (cpp_token);
>       toks[0] = pfile->directive_result;
> lines with
>       toks = &pfile->avoid_paste;

Here is a patch that does that, bootstrapped/regtested on powerpc64le-linux,
ok for trunk?

2022-02-01  Jakub Jelinek  <ja...@redhat.com>

        * directives.cc (destringize_and_run): Push &pfile->avoid_paste
        instead of a copy of pfile->directive_result for the CPP_PADDING
        case.

--- libcpp/directives.cc.jj     2022-01-18 11:59:00.257972414 +0100
+++ libcpp/directives.cc        2022-02-01 13:39:27.240114485 +0100
@@ -1954,8 +1954,7 @@ destringize_and_run (cpp_reader *pfile,
   else
     {
       count = 1;
-      toks = XNEW (cpp_token);
-      toks[0] = pfile->directive_result;
+      toks = &pfile->avoid_paste;
 
       /* If we handled the entire pragma internally, make sure we get the
         line number correct for the next token.  */


        Jakub

Reply via email to