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