https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97395
Bug ID: 97395 Summary: [11 Regression] ICE in update_binding, at cp/name-lookup.c:2504 Product: gcc Version: 11.0 Status: UNCONFIRMED Keywords: ice-on-valid-code Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: asolokha at gmx dot com Target Milestone: --- g++-11.0.0-alpha20201011 snapshot (g:4eaf96c56c1c97b11af42a4caaa12b37870308d7) ICEs when compiling the following testcase, reduced from test/CXX/dcl.decl/dcl.meaning/dcl.array/p3.cpp from the clang 10.0.1 test suite: namespace pr { template<typename WW> void kp () { extern WW hz; } void n5 () { kp<int[]> (); kp<int[1]> (); } } % g++-11.0.0 -c mtog1zuw.cpp mtog1zuw.cpp: In instantiation of 'void pr::kp() [with WW = int [1]]': mtog1zuw.cpp:13:17: required from here mtog1zuw.cpp:6:15: internal compiler error: in update_binding, at cp/name-lookup.c:2504 6 | extern WW hz; | ^~ 0x65ca87 update_binding /var/tmp/portage/sys-devel/gcc-11.0.0_alpha20201011/work/gcc-11-20201011/gcc/cp/name-lookup.c:2504 0x9ac9e7 do_pushdecl /var/tmp/portage/sys-devel/gcc-11.0.0_alpha20201011/work/gcc-11-20201011/gcc/cp/name-lookup.c:3135 0x9ae5f1 do_pushdecl /var/tmp/portage/sys-devel/gcc-11.0.0_alpha20201011/work/gcc-11-20201011/gcc/cp/name-lookup.c:3876 0x9ae5f1 do_pushdecl_with_scope /var/tmp/portage/sys-devel/gcc-11.0.0_alpha20201011/work/gcc-11-20201011/gcc/cp/name-lookup.c:3876 0x9ad9e3 push_local_extern_decl_alias /var/tmp/portage/sys-devel/gcc-11.0.0_alpha20201011/work/gcc-11-20201011/gcc/cp/name-lookup.c:2978 0x9ad9e3 do_pushdecl /var/tmp/portage/sys-devel/gcc-11.0.0_alpha20201011/work/gcc-11-20201011/gcc/cp/name-lookup.c:3167 0x9ae562 do_pushdecl /var/tmp/portage/sys-devel/gcc-11.0.0_alpha20201011/work/gcc-11-20201011/gcc/cp/name-lookup.c:3188 0x9ae562 pushdecl(tree_node*, bool) /var/tmp/portage/sys-devel/gcc-11.0.0_alpha20201011/work/gcc-11-20201011/gcc/cp/name-lookup.c:3188 0xa2f8e9 tsubst_expr(tree_node*, tree_node*, int, tree_node*, bool) /var/tmp/portage/sys-devel/gcc-11.0.0_alpha20201011/work/gcc-11-20201011/gcc/cp/pt.c:18118 0xa2c4c0 tsubst_expr(tree_node*, tree_node*, int, tree_node*, bool) /var/tmp/portage/sys-devel/gcc-11.0.0_alpha20201011/work/gcc-11-20201011/gcc/cp/pt.c:18309 0xa325c6 tsubst_expr(tree_node*, tree_node*, int, tree_node*, bool) /var/tmp/portage/sys-devel/gcc-11.0.0_alpha20201011/work/gcc-11-20201011/gcc/cp/pt.c:17977 0xa325c6 instantiate_body /var/tmp/portage/sys-devel/gcc-11.0.0_alpha20201011/work/gcc-11-20201011/gcc/cp/pt.c:25629 0xa33770 instantiate_decl(tree_node*, bool, bool) /var/tmp/portage/sys-devel/gcc-11.0.0_alpha20201011/work/gcc-11-20201011/gcc/cp/pt.c:25917 0xa57beb instantiate_pending_templates(int) /var/tmp/portage/sys-devel/gcc-11.0.0_alpha20201011/work/gcc-11-20201011/gcc/cp/pt.c:25996 0x958a5b c_parse_final_cleanups() /var/tmp/portage/sys-devel/gcc-11.0.0_alpha20201011/work/gcc-11-20201011/gcc/cp/decl2.c:4920