https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97284
--- Comment #12 from Martin Liška <marxin at gcc dot gnu.org> --- So it's caused by PCH: $ cat qt.ii [empty] $ cat q.ii #pragma GCC pch_preprocess "cmake_pch.hxx.gch" #pragma GCC push_options #pragma GCC target "" #pragma GCC pop_options $ g++ -x c++-header qt.ii -o cmake_pch.hxx.gch && g++ q.ii -c q.ii:4:9: internal compiler error: ‘global_options’ are modified in local context 4 | #pragma GCC pop_options | ^~~ 0x115df28 cl_optimization_compare(gcc_options*, gcc_options*) /dev/shm/objdir/gcc/options-save.c:15271 0xcbc30e handle_pragma_pop_options /home/marxin/Programming/gcc/gcc/c-family/c-pragma.c:1092 0xcbcdb7 c_invoke_pragma_handler(unsigned int) /home/marxin/Programming/gcc/gcc/c-family/c-pragma.c:1515 0xb346ad cp_parser_pragma /home/marxin/Programming/gcc/gcc/cp/parser.c:45062 0xb693ab cp_parser_toplevel_declaration /home/marxin/Programming/gcc/gcc/cp/parser.c:14096 0xb693ab cp_parser_translation_unit /home/marxin/Programming/gcc/gcc/cp/parser.c:4936 0xb693ab c_parse_file() /home/marxin/Programming/gcc/gcc/cp/parser.c:45121 0xcb4669 c_common_parse_file() /home/marxin/Programming/gcc/gcc/c-family/c-opts.c:1211 Please submit a full bug report, with preprocessed source if appropriate. Please include the complete backtrace with any bug report. See <https://gcc.gnu.org/bugs/> for instructions.