https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61738
Bug ID: 61738 Summary: ICE using template template parameters and template aliases Product: gcc Version: 4.9.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: eric.niebler at gmail dot com Created attachment 33083 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=33083&action=edit preprocessed source The attached preprocessed code, compiled with -std=gnu++11, causes the following ICE: In file included from ../range-v3/include/range/v3/utility/concepts.hpp:22:0, from ../range-v3/test/utility/concepts.cpp:12: ../range-v3/include/range/v3/utility/meta.hpp: In substitution of ‘template<template<class ...> class C, class ... As> using meta_apply = ranges::v3::meta_eval<C<As ...> > [with C = ranges::v3::range_concept; As = {std::vector<int, std::allocator<int> >}]’: ../range-v3/include/range/v3/range_concepts.hpp:255:61: required by substitution of ‘template<class T> using range_concept_t = ranges::v3::meta_apply<ranges::v3::range_concept, T> [with T = std::vector<int>]’ ../range-v3/test/utility/concepts.cpp:106:48: required from here ../range-v3/include/range/v3/utility/meta.hpp:40:47: internal compiler error: Segmentation fault using meta_apply = meta_eval<C<As...>>; ^ 0x94ac7f crash_signal /home/eric/gcc-4.9.0/gcc/toplev.c:337 0x943000 layout_decl(tree_node*, unsigned int) /home/eric/gcc-4.9.0/gcc/stor-layout.c:676 0x56d116 tsubst_decl /home/eric/gcc-4.9.0/gcc/cp/pt.c:11159 0x5665e7 tsubst(tree_node*, tree_node*, int, tree_node*) /home/eric/gcc-4.9.0/gcc/cp/pt.c:11501 0x56ea9b instantiate_template_1 /home/eric/gcc-4.9.0/gcc/cp/pt.c:15510 0x56ea9b instantiate_template(tree_node*, tree_node*, int) /home/eric/gcc-4.9.0/gcc/cp/pt.c:15560 0x5666f7 instantiate_alias_template /home/eric/gcc-4.9.0/gcc/cp/pt.c:15590 0x5666f7 tsubst(tree_node*, tree_node*, int, tree_node*) /home/eric/gcc-4.9.0/gcc/cp/pt.c:11528 0x56d012 tsubst_decl /home/eric/gcc-4.9.0/gcc/cp/pt.c:11052 0x5665e7 tsubst(tree_node*, tree_node*, int, tree_node*) /home/eric/gcc-4.9.0/gcc/cp/pt.c:11501 0x56ea9b instantiate_template_1 /home/eric/gcc-4.9.0/gcc/cp/pt.c:15510 0x56ea9b instantiate_template(tree_node*, tree_node*, int) /home/eric/gcc-4.9.0/gcc/cp/pt.c:15560 0x5666f7 instantiate_alias_template /home/eric/gcc-4.9.0/gcc/cp/pt.c:15590 0x5666f7 tsubst(tree_node*, tree_node*, int, tree_node*) /home/eric/gcc-4.9.0/gcc/cp/pt.c:11528 0x56a316 lookup_template_class_1 /home/eric/gcc-4.9.0/gcc/cp/pt.c:7636 0x56a316 lookup_template_class(tree_node*, tree_node*, tree_node*, tree_node*, int, int) /home/eric/gcc-4.9.0/gcc/cp/pt.c:7862 0x5f7952 finish_template_type(tree_node*, tree_node*, int) /home/eric/gcc-4.9.0/gcc/cp/semantics.c:2965 0x5b819a cp_parser_template_id /home/eric/gcc-4.9.0/gcc/cp/parser.c:13467 0x5b8332 cp_parser_class_name /home/eric/gcc-4.9.0/gcc/cp/parser.c:19185 0x5ad913 cp_parser_qualifying_entity /home/eric/gcc-4.9.0/gcc/cp/parser.c:5540 Please submit a full bug report, with preprocessed source if appropriate. Please include the complete backtrace with any bug report. See <http://gcc.gnu.org/bugs.html> for instructions.