https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108244
--- Comment #11 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:9ca4899144de6db61a782b03a1257489bd26f750 commit r13-5114-g9ca4899144de6db61a782b03a1257489bd26f750 Author: Lewis Hyatt <lhy...@gmail.com> Date: Thu Dec 29 16:55:21 2022 -0500 preprocessor: Don't register pragmas in directives-only mode [PR108244] libcpp's directives-only mode does not expect deferred pragmas to be registered, but to date the c-family registration process has not checked for this case. That issue became more visible since r13-1544, which added the commonly used GCC diagnostic pragmas to the set of those registered in preprocessing modes. Fix it by checking for directives-only mode in c-family/c-pragma.cc. gcc/c-family/ChangeLog: PR preprocessor/108244 * c-pragma.cc (c_register_pragma_1): Don't attempt to register any deferred pragmas if -fdirectives-only. (init_pragma): Likewise. gcc/testsuite/ChangeLog: * c-c++-common/cpp/pr108244-1.c: New test. * c-c++-common/cpp/pr108244-2.c: New test. * c-c++-common/gomp/pr108244-3.c: New test.