https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103709
Bug ID: 103709 Summary: ICE: 'global_options' are modified in local context Product: gcc Version: 12.0 Status: UNCONFIRMED Keywords: ice-on-invalid-code Severity: normal Priority: P3 Component: c Assignee: unassigned at gcc dot gnu.org Reporter: asolokha at gmx dot com CC: marxin at gcc dot gnu.org Target Milestone: --- Target: powerpc-*-linux-gnu +++ This bug was initially created as a clone of Bug #92860 +++ gcc, at least configured for powerpc target and invoked w/ -mcpu= set to a value valid to that target, ICEs when compiling testcases w/ explicitly wrong (non-powerpc) #pragrma GCC target ("") statements: % powerpc-e300c3-linux-gnu-gcc-12.0.0 -mcpu=401 -c gcc/testsuite/gcc.target/i386/pr78451.c gcc/testsuite/gcc.target/i386/pr78451.c:5:9: error: #pragma GCC target 'avx512bw' is invalid 5 | #pragma GCC target ("avx512bw") | ^~~ gcc/testsuite/gcc.target/i386/pr78451.c:14:9: error: #pragma GCC target 'avx512vl' is invalid 14 | #pragma GCC target ("avx512vl") | ^~~ gcc/testsuite/gcc.target/i386/pr78451.c:22:9: internal compiler error: 'global_options' are modified in local context 22 | #pragma GCC pop_options | ^~~ 0xda415d cl_optimization_compare(gcc_options*, gcc_options*) /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-12.0.0_p20211212/work/build/gcc/options-save.c:14102 0x90c183 handle_pragma_pop_options /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-12.0.0_p20211212/work/gcc-12-20211212/gcc/c-family/c-pragma.c:1137 0x8769d7 c_parser_pragma /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-12.0.0_p20211212/work/gcc-12-20211212/gcc/c/c-parser.c:12615 0x8a2bb5 c_parser_external_declaration /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-12.0.0_p20211212/work/gcc-12-20211212/gcc/c/c-parser.c:1760 0x8a31cb c_parser_translation_unit /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-12.0.0_p20211212/work/gcc-12-20211212/gcc/c/c-parser.c:1652 0x8a31cb c_parse_file() /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-12.0.0_p20211212/work/gcc-12-20211212/gcc/c/c-parser.c:23324 0x909bd9 c_common_parse_file() /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-12.0.0_p20211212/work/gcc-12-20211212/gcc/c-family/c-opts.c:1238 It was initially reported in PR92860 comment 38.