https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110086
Bug ID: 110086 Summary: ICE when optimization level is changed using optimize attribute Product: gcc Version: 14.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: target Assignee: unassigned at gcc dot gnu.org Reporter: senthil.thecoder at gmail dot com Target Milestone: --- Compiler crashes with an ICE for the below code. Already seen in regression runs (gcc.c-torture/compile/pr104327.c, for e.g.). $ cat optimize-attrib.c void __attribute__((optimize("O0"))) foo() { } $ avr-gcc -mmcu=avr51 optimize-attrib.c -Os optimize-attrib.c:1:1: internal compiler error: 'global_options' are modified in local context 1 | void __attribute__((optimize("O0"))) foo() { | ^~~~ 0xd1288b cl_optimization_compare(gcc_options*, gcc_options*) /home/toolsbuild/build/gcc/gcc/options-save.cc:13139 0x832d0c handle_optimize_attribute /home/toolsbuild/code/gcc/gcc/c-family/c-attribs.cc:5689 0x6e8b58 decl_attributes(tree_node**, tree_node*, int, tree_node*) /home/toolsbuild/code/gcc/gcc/attribs.cc:878 0x70fb4c start_function(c_declspecs*, c_declarator*, tree_node*) /home/toolsbuild/code/gcc/gcc/c/c-decl.cc:10095 0x78eb0c c_parser_declaration_or_fndef /home/toolsbuild/code/gcc/gcc/c/c-parser.cc:2742 0x797ec7 c_parser_external_declaration /home/toolsbuild/code/gcc/gcc/c/c-parser.cc:1925 0x7987bd c_parser_translation_unit /home/toolsbuild/code/gcc/gcc/c/c-parser.cc:1779 0x7987bd c_parse_file() /home/toolsbuild/code/gcc/gcc/c/c-parser.cc:24657 0x813840 c_common_parse_file() /home/toolsbuild/code/gcc/gcc/c-family/c-opts.cc:1248 Please submit a full bug report, with preprocessed source (by using -freport-bug). Please include the complete backtrace with any bug report. See <https://gcc.gnu.org/bugs/> for instructions.