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

Markus Trippelsdorf <trippels at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |trippels at gcc dot gnu.org

--- Comment #2 from Markus Trippelsdorf <trippels at gcc dot gnu.org> ---
This variant also ICEs on trunk:

 % cat cr.ii
template <int> struct ops {
  template <int> struct A;
  template <int *Ptr> using explode = typename A<*Ptr>::join;
};
template <typename Ts> ops<'\0'>::explode<Ts::join> a;

 % g++ -c cr.ii
cr.ii: In substitution of ‘template<int <anonymous> > template<int* Ptr> using
explode = typename ops<<anonymous> >::A<(* Ptr)>::join [with int* Ptr = Ts::
join; int <anonymous> = 0]’:
cr.ii:5:51:   required from here
cr.ii:3:61: internal compiler error: Segmentation fault
   template <int *Ptr> using explode = typename A<*Ptr>::join;
                                                             ^
0xd5c0ef crash_signal
        /home/markus/gcc/gcc/toplev.c:333
0x7f0b4d78f12f ???
       
/home/markus/glibc/signal/../sysdeps/unix/sysv/linux/x86_64/sigaction.c:0
0x687912 convert_template_argument
        /home/markus/gcc/gcc/cp/pt.c:7382
0x68959b coerce_template_parms
        /home/markus/gcc/gcc/cp/pt.c:7821
0x68acb3 coerce_innermost_template_parms
        /home/markus/gcc/gcc/cp/pt.c:7912
0x68b67a lookup_template_class_1
        /home/markus/gcc/gcc/cp/pt.c:8393
0x68b67a lookup_template_class(tree_node*, tree_node*, tree_node*, tree_node*,
int, int)
        /home/markus/gcc/gcc/cp/pt.c:8738
0x68f1d1 tsubst_aggr_type
        /home/markus/gcc/gcc/cp/pt.c:11619
0x67a02e tsubst(tree_node*, tree_node*, int, tree_node*)
        /home/markus/gcc/gcc/cp/pt.c:13633
0x674f60 tsubst_decl
        /home/markus/gcc/gcc/cp/pt.c:12506
0x67a807 tsubst(tree_node*, tree_node*, int, tree_node*)
        /home/markus/gcc/gcc/cp/pt.c:13011
0x69b50f instantiate_template_1
        /home/markus/gcc/gcc/cp/pt.c:17806
0x69b50f instantiate_template(tree_node*, tree_node*, int)
        /home/markus/gcc/gcc/cp/pt.c:17862
0x67ab7c instantiate_alias_template
        /home/markus/gcc/gcc/cp/pt.c:17892
0x67ab7c tsubst(tree_node*, tree_node*, int, tree_node*)
        /home/markus/gcc/gcc/cp/pt.c:13038
0x68c489 lookup_template_class_1
        /home/markus/gcc/gcc/cp/pt.c:8487
0x68c489 lookup_template_class(tree_node*, tree_node*, tree_node*, tree_node*,
int, int)
        /home/markus/gcc/gcc/cp/pt.c:8738
0x7aa96d finish_template_type(tree_node*, tree_node*, int)
        /home/markus/gcc/gcc/cp/semantics.c:3144
0x72455d cp_parser_template_id
        /home/markus/gcc/gcc/cp/parser.c:15464
0x7247dd cp_parser_class_name
        /home/markus/gcc/gcc/cp/parser.c:21876

Reply via email to