https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99108

            Bug ID: 99108
           Summary: ICE in ix86_get_function_versions_dispatcher, at
                    config/i386/i386-features.c:2862
           Product: gcc
           Version: 11.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: gs...@t-online.de
  Target Milestone: ---

Affects versions down to at least r5 (with -std=c++17) :


$ cat z1.cc
struct A {
  void foo(auto);
};
void A::foo(auto)
{
  int f(void) __attribute__((target("default")));
  int f(void) __attribute__((target("arch=atom")));
  int b = f();
}
void bar(void)
{
  A c;
  c.foo(7);
}


$ g++-11-20210214 -c z1.cc -std=c++2a
z1.cc: In instantiation of 'void A::foo(auto:2) [with auto:1 = int]':
z1.cc:13:10:   required from here
z1.cc:9:1: internal compiler error: in ix86_get_function_versions_dispatcher,
at config/i386/i386-features.c:2862
    9 | }
      | ^
0x1076533 ix86_get_function_versions_dispatcher(void*)
        ../../gcc/config/i386/i386-features.c:2862
0x667bdd get_function_version_dispatcher(tree_node*)
        ../../gcc/cp/call.c:8389
0x6b4fa5 cp_genericize_r
        ../../gcc/cp/cp-gimplify.c:1435
0xf64ee5 walk_tree_1(tree_node**, tree_node* (*)(tree_node**, int*, void*),
void*, hash_set<tree_node*, false, default_hash_traits<tree_node*> >*,
tree_node* (*)(tree_node**, int*, tree_node* (*)(tree_node**, int*, void*),
void*, hash_set<tree_node*, false, default_hash_traits<tree_node*> >*))
        ../../gcc/tree.c:12099
0x6b5795 cp_genericize_r
        ../../gcc/cp/cp-gimplify.c:1486
0xf64ee5 walk_tree_1(tree_node**, tree_node* (*)(tree_node**, int*, void*),
void*, hash_set<tree_node*, false, default_hash_traits<tree_node*> >*,
tree_node* (*)(tree_node**, int*, tree_node* (*)(tree_node**, int*, void*),
void*, hash_set<tree_node*, false, default_hash_traits<tree_node*> >*))
        ../../gcc/tree.c:12099
0x6b5a05 cp_genericize_r
        ../../gcc/cp/cp-gimplify.c:1178
0xf64ee5 walk_tree_1(tree_node**, tree_node* (*)(tree_node**, int*, void*),
void*, hash_set<tree_node*, false, default_hash_traits<tree_node*> >*,
tree_node* (*)(tree_node**, int*, tree_node* (*)(tree_node**, int*, void*),
void*, hash_set<tree_node*, false, default_hash_traits<tree_node*> >*))
        ../../gcc/tree.c:12099
0x6b45f8 cp_genericize_tree
        ../../gcc/cp/cp-gimplify.c:1604
0x6b4793 cp_genericize(tree_node*)
        ../../gcc/cp/cp-gimplify.c:1750
0x6dde47 finish_function(bool)
        ../../gcc/cp/decl.c:17470
0x7badde instantiate_body
        ../../gcc/cp/pt.c:25881
0x7bb9d0 instantiate_decl(tree_node*, bool, bool)
        ../../gcc/cp/pt.c:26151
0x7d5feb instantiate_pending_templates(int)
        ../../gcc/cp/pt.c:26230
0x6ecf72 c_parse_final_cleanups()
        ../../gcc/cp/decl2.c:4962

Reply via email to