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