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

Marek Polacek <mpolacek at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
     Ever confirmed|0                           |1
   Target Milestone|---                         |14.3
             Status|UNCONFIRMED                 |NEW
            Summary|[14 Regression] ICE in      |[14/15 Regression] ICE in
                   |convert_nontype_argument,   |convert_nontype_argument,
                   |at cp/pt.cc:7877            |at cp/pt.cc:7877
           Priority|P3                          |P2
           Keywords|                            |ice-on-valid-code
   Last reconfirmed|                            |2024-08-15
                 CC|                            |mpolacek at gcc dot gnu.org

--- Comment #1 from Marek Polacek <mpolacek at gcc dot gnu.org> ---
Trunk crashes as well.  Thanks for the report.

$ ./cc1plus -quiet x.ii -std=c++14
test.cpp: In substitution of ‘template<class k> using q = e::o<k> [with k =
r]’:
test.cpp:23:23:   recursively required by substitution of
‘template<template<class> class i, class ... args> struct
e::g::detector<e::g::h<i<args ...> >, i, args ...> [with i = q; args = {r}]’
test.cpp:23:23:   required from here
test.cpp:22:29: internal compiler error: in convert_nontype_argument, at
cp/pt.cc:7866
0x380a046 internal_error(char const*, ...)
        /home/mpolacek/src/gcc/gcc/diagnostic-global-context.cc:491
0x37e8315 fancy_abort(char const*, int, char const*)
        /home/mpolacek/src/gcc/gcc/diagnostic.cc:1772
0x113b3ef convert_nontype_argument
        /home/mpolacek/src/gcc/gcc/cp/pt.cc:7866
0x117d626 tsubst_expr(tree_node*, tree_node*, int, tree_node*)
        /home/mpolacek/src/gcc/gcc/cp/pt.cc:20230
0x1151abb tsubst_template_arg(tree_node*, tree_node*, int, tree_node*)
        /home/mpolacek/src/gcc/gcc/cp/pt.cc:12862
0x1156bf0 tsubst_template_args(tree_node*, tree_node*, int, tree_node*)
        /home/mpolacek/src/gcc/gcc/cp/pt.cc:14024
0x1167260 tsubst(tree_node*, tree_node*, int, tree_node*)
        /home/mpolacek/src/gcc/gcc/cp/pt.cc:16296
0x1163e0a tsubst_decl
        /home/mpolacek/src/gcc/gcc/cp/pt.cc:15565
0x11888b8 instantiate_template(tree_node*, tree_node*, int)
        /home/mpolacek/src/gcc/gcc/cp/pt.cc:22201
0x1189303 instantiate_alias_template
        /home/mpolacek/src/gcc/gcc/cp/pt.cc:22299
0x11439a2 lookup_template_class(tree_node*, tree_node*, tree_node*, tree_node*,
int)
        /home/mpolacek/src/gcc/gcc/cp/pt.cc:10118
0x116809c tsubst(tree_node*, tree_node*, int, tree_node*)
        /home/mpolacek/src/gcc/gcc/cp/pt.cc:16496
0x1151a85 tsubst_template_arg(tree_node*, tree_node*, int, tree_node*)
        /home/mpolacek/src/gcc/gcc/cp/pt.cc:12857
0x1156bf0 tsubst_template_args(tree_node*, tree_node*, int, tree_node*)
        /home/mpolacek/src/gcc/gcc/cp/pt.cc:14024
0x1168a8a tsubst(tree_node*, tree_node*, int, tree_node*)
        /home/mpolacek/src/gcc/gcc/cp/pt.cc:16622
0x11668d0 tsubst(tree_node*, tree_node*, int, tree_node*)
        /home/mpolacek/src/gcc/gcc/cp/pt.cc:16226
0x1151a85 tsubst_template_arg(tree_node*, tree_node*, int, tree_node*)
        /home/mpolacek/src/gcc/gcc/cp/pt.cc:12857
0x1156bf0 tsubst_template_args(tree_node*, tree_node*, int, tree_node*)
        /home/mpolacek/src/gcc/gcc/cp/pt.cc:14024
0x1168a8a tsubst(tree_node*, tree_node*, int, tree_node*)
        /home/mpolacek/src/gcc/gcc/cp/pt.cc:16622
0x119893b get_partial_spec_bindings
        /home/mpolacek/src/gcc/gcc/cp/pt.cc:26070

Reply via email to