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

            Bug ID: 96199
           Summary: internal compiler error: in tsubst_copy with CTAD for
                    alias templates
           Product: gcc
           Version: unknown
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: mpolacek at gcc dot gnu.org
  Target Milestone: ---

template<int> class A;
template<typename> struct W { };
template<typename, int> class B {
  enum { X };
  B(A<X>) { }
  template <typename T> using U = B<T, 1>;
  W<U()> u;
};

$ ./cc1plus -quiet q.C
q.C:5:3: internal compiler error: in tsubst_copy, at cp/pt.c:16379
    5 |   B(A<X>) { }
      |   ^
0xbf58f3 tsubst_copy
        /home/mpolacek/src/gcc/gcc/cp/pt.c:16379
0xc0d363 tsubst_copy_and_build(tree_node*, tree_node*, int, tree_node*, bool,
bool)
        /home/mpolacek/src/gcc/gcc/cp/pt.c:20496
0xc04ffc tsubst_expr(tree_node*, tree_node*, int, tree_node*, bool)
        /home/mpolacek/src/gcc/gcc/cp/pt.c:18783
0xbdfd4f tsubst_template_arg(tree_node*, tree_node*, int, tree_node*)
        /home/mpolacek/src/gcc/gcc/cp/pt.c:12116
0xbe3b45 tsubst_template_args(tree_node*, tree_node*, int, tree_node*)
        /home/mpolacek/src/gcc/gcc/cp/pt.c:13169
0xbe48d5 tsubst_aggr_type
        /home/mpolacek/src/gcc/gcc/cp/pt.c:13372
0xbf1239 tsubst(tree_node*, tree_node*, int, tree_node*)
        /home/mpolacek/src/gcc/gcc/cp/pt.c:15267
0xbef7bc tsubst_arg_types
        /home/mpolacek/src/gcc/gcc/cp/pt.c:14802
0xbefdce tsubst_function_type
        /home/mpolacek/src/gcc/gcc/cp/pt.c:14943
0xbf2f58 tsubst(tree_node*, tree_node*, int, tree_node*)
        /home/mpolacek/src/gcc/gcc/cp/pt.c:15720
0xbe7642 tsubst_function_decl
        /home/mpolacek/src/gcc/gcc/cp/pt.c:13757
0xbec51f tsubst_decl
        /home/mpolacek/src/gcc/gcc/cp/pt.c:14199
0xc2fd83 alias_ctad_tweaks
        /home/mpolacek/src/gcc/gcc/cp/pt.c:28562
0xc30867 deduction_guides_for
        /home/mpolacek/src/gcc/gcc/cp/pt.c:28703
0xc31104 do_class_deduction
        /home/mpolacek/src/gcc/gcc/cp/pt.c:28808
0xc31d4c do_auto_deduction(tree_node*, tree_node*, tree_node*, int,
auto_deduction_context, tree_node*, int)
        /home/mpolacek/src/gcc/gcc/cp/pt.c:28937
0xce14ca build_functional_cast_1
        /home/mpolacek/src/gcc/gcc/cp/typeck2.c:2313
0xce1919 build_functional_cast(unsigned int, tree_node*, tree_node*, int)
        /home/mpolacek/src/gcc/gcc/cp/typeck2.c:2413
0xb744e9 cp_parser_functional_cast
        /home/mpolacek/src/gcc/gcc/cp/parser.c:29671
0xb46a8e cp_parser_postfix_expression
        /home/mpolacek/src/gcc/gcc/cp/parser.c:7212

Reply via email to