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

            Bug ID: 101563
           Summary: ICE in lookup_template_class_1, at cp/pt.c:10184
           Product: gcc
           Version: 12.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 :
(in addition to g++.dg/template/mem-spec1.C)


$ cat z1.cc
namespace N {
  template<typename> struct A
  {
    template<typename> struct B {};
    A() { B<int> b; }
  };
  template<> template<typename>
  struct A<int>::B
  {
    ~B() {}
  };
  A<int> x;
  A<int>::B<int> y;
}


$ g++-12-20210718 -c z1.cc
z1.cc: In instantiation of 'N::A< <template-parameter-1-1> >::A() [with
<template-parameter-1-1> = int]':
z1.cc:12:10:   required from here
z1.cc:5:18: internal compiler error: in lookup_template_class_1, at
cp/pt.c:10184
    5 |     A() { B<int> b; }
      |                  ^
0x98a861 lookup_template_class_1
        ../../gcc/cp/pt.c:10184
0x98a861 lookup_template_class(tree_node*, tree_node*, tree_node*, tree_node*,
int, int)
        ../../gcc/cp/pt.c:10230
0x98b14d tsubst_aggr_type
        ../../gcc/cp/pt.c:13577
0x9753d7 tsubst(tree_node*, tree_node*, int, tree_node*)
        ../../gcc/cp/pt.c:15450
0x98cb91 tsubst_decl
        ../../gcc/cp/pt.c:14747
0x9755bf tsubst(tree_node*, tree_node*, int, tree_node*)
        ../../gcc/cp/pt.c:15369
0x998171 tsubst_expr(tree_node*, tree_node*, int, tree_node*, bool)
        ../../gcc/cp/pt.c:18236
0x995852 tsubst_expr(tree_node*, tree_node*, int, tree_node*, bool)
        ../../gcc/cp/pt.c:18479
0x993b75 tsubst_expr(tree_node*, tree_node*, int, tree_node*, bool)
        ../../gcc/cp/pt.c:18120
0x995852 tsubst_expr(tree_node*, tree_node*, int, tree_node*, bool)
        ../../gcc/cp/pt.c:18479
0x979d49 tsubst_expr(tree_node*, tree_node*, int, tree_node*, bool)
        ../../gcc/cp/pt.c:18106
0x979d49 instantiate_body
        ../../gcc/cp/pt.c:25869
0x97b477 instantiate_decl(tree_node*, bool, bool)
        ../../gcc/cp/pt.c:26162
0x9bd42b instantiate_pending_templates(int)
        ../../gcc/cp/pt.c:26241
0x82cac1 c_parse_final_cleanups()
        ../../gcc/cp/decl2.c:4991

Reply via email to