https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115312
Lewis Hyatt <lhyatt at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |lhyatt at gcc dot gnu.org --- Comment #1 from Lewis Hyatt <lhyatt at gcc dot gnu.org> --- Hmm that is odd. It works fine on x86-64/Linux so I think this is something target-specific with PCH? If this assert is firing: void c_init_preprocess () { gcc_assert (!the_parser); ... It means that the_parser was not NULL after reading in the PCH. But it should be, because the_parser is explicitly set to NULL prior to writing the PCH (at the end of c_parse_file() in cp/parse.cc) and so that's what it should get set to after reading the PCH back in. Are you able to confirm whether the_parser stored in the PCH is indeed NULL, maybe? I don't have anywhere to test this platform myself at the moment. Thanks... That assert could be simply removed too, but it does seem worth understanding how it can trigger here...