https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71652
Bug ID: 71652 Summary: [7 Regression] ICE in in ix86_target_macros_internal, at config/i386/i386-c.c:187 Product: gcc Version: 7.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: target Assignee: unassigned at gcc dot gnu.org Reporter: marxin at gcc dot gnu.org Target Milestone: --- Running: #pragma GCC push_options #pragma GCC target ("arch=generic") // ICE __attribute__((constructor)) void foo() { asm (""); } #pragma GCC pop_options int main() { return 0; } $ gcc pr71585-ice.c pr71585-ice.c:2:9: error: generic CPU can be used only for option("tune=") attribute #pragma GCC target ("arch=generic") // ICE ^~~ pr71585-ice.c:2:9: internal compiler error: in ix86_target_macros_internal, at config/i386/i386-c.c:187 0x8d0f27 ix86_target_macros_internal ../../gcc/config/i386/i386-c.c:187 0x8d1ecc ix86_pragma_target_parse ../../gcc/config/i386/i386-c.c:530 0x8ae3b1 handle_pragma_target ../../gcc/c-family/c-pragma.c:893 0x8af160 c_invoke_pragma_handler(unsigned int) ../../gcc/c-family/c-pragma.c:1482 0x8182e0 c_parser_pragma ../../gcc/c/c-parser.c:10289 0x80387f c_parser_external_declaration ../../gcc/c/c-parser.c:1537 0x80343b c_parser_translation_unit ../../gcc/c/c-parser.c:1437 0x835a33 c_parse_file() ../../gcc/c/c-parser.c:17985 0x8a9677 c_common_parse_file() ../../gcc/c-family/c-opts.c:1070 GCC 5.3.1 and GCC 6.1.1 are fine. Thanks, Martin