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