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