https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112319

--- Comment #3 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Lewis Hyatt <lhy...@gcc.gnu.org>:

https://gcc.gnu.org/g:5d4abd9219dfa53b52b341255e99139bb6cad302

commit r14-5836-g5d4abd9219dfa53b52b341255e99139bb6cad302
Author: Lewis Hyatt <lhy...@gmail.com>
Date:   Wed Nov 1 13:01:12 2023 -0400

    preprocessor: Reinitialize frontend parser after loading a PCH [PR112319]

    Since r14-2893, the frontend parser object needs to exist when running in
    preprocess-only mode, because pragma_lex() is now called in that mode and
    needs to make use of it. This is handled by calling c_init_preprocess() at
    startup. If -fpch-preprocess is in effect (commonly, because of
    -save-temps), a PCH file may be loaded during preprocessing, in which
    case the parser will be destroyed, causing the issue noted in the
    PR. Resolve it by reinitializing the frontend parser after loading the PCH.

    gcc/c-family/ChangeLog:

            PR pch/112319
            * c-ppoutput.cc (cb_read_pch): Reinitialize the frontend parser
            after loading a PCH.

    gcc/testsuite/ChangeLog:

            PR pch/112319
            * g++.dg/pch/pr112319.C: New test.
            * g++.dg/pch/pr112319.Hs: New test.
            * gcc.dg/pch/pr112319.c: New test.
            * gcc.dg/pch/pr112319.hs: New test.
  • [Bug pch/112319] [14 Regression... cvs-commit at gcc dot gnu.org via Gcc-bugs

Reply via email to