https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112965
--- Comment #4 from David Malcolm <dmalcolm at gcc dot gnu.org> --- (In reply to David Malcolm from comment #3) > A workaround might be to pad pp's buffer with trailing zero bytes up to a > multiple of 16. The following hack "fixes" it (for some definition of "fix"): diff --git a/gcc/c/c-parser.cc b/gcc/c/c-parser.cc index 5700ccccc493..4858fec0dc3e 100644 --- a/gcc/c/c-parser.cc +++ b/gcc/c/c-parser.cc @@ -1843,6 +1843,11 @@ private: pretty_printer pp; pp_string (&pp, (const char *) tok.val.str.text); pp_newline (&pp); + + // FIXME: workaround for PR 112965 + for (int i = 0; i < 16; i++) + pp_character (&pp, '\0'); + cpp_push_buffer (parse_in, (const unsigned char *) pp_formatted_text (&pp), strlen (pp_formatted_text (&pp)),