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

Reply via email to