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

Reply via email to