https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84936
Bug ID: 84936 Summary: [8 Regression] ICE with unexpanded parameter pack Product: gcc Version: 8.0 Status: UNCONFIRMED Keywords: ice-on-invalid-code Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: reichelt at gcc dot gnu.org Target Milestone: --- The following invalid code snippet triggers an ICE on trunk: ========================================================== struct A { template<typename... T> A(T... t) : decltype(t)() {} }; A a; ========================================================== bug.cc: In instantiation of 'A::A(T ...) [with T = {}]': bug.cc:6:3: required from here bug.cc:3:51: internal compiler error: Segmentation fault template<typename... T> A(T... t) : decltype(t)() {} ^ 0xebab0f crash_signal ../../gcc/gcc/toplev.c:325 0x9d5e09 invalid_nonstatic_memfn_p(unsigned int, tree_node*, int) ../../gcc/gcc/cp/typeck.c:1882 0x9b2529 finish_decltype_type(tree_node*, bool, int) ../../gcc/gcc/cp/semantics.c:8734 0x975ed5 tsubst(tree_node*, tree_node*, int, tree_node*) ../../gcc/gcc/cp/pt.c:14580 0x96ed2f tsubst_initializer_list ../../gcc/gcc/cp/pt.c:23825 0x96ed2f tsubst_expr(tree_node*, tree_node*, int, tree_node*, bool) ../../gcc/gcc/cp/pt.c:16213 0x96d6cf tsubst_expr(tree_node*, tree_node*, int, tree_node*, bool) ../../gcc/gcc/cp/pt.c:16489 0x96c868 tsubst_expr(tree_node*, tree_node*, int, tree_node*, bool) ../../gcc/gcc/cp/pt.c:16193 0x96c868 instantiate_decl(tree_node*, bool, bool) ../../gcc/gcc/cp/pt.c:23575 0x99146b instantiate_pending_templates(int) ../../gcc/gcc/cp/pt.c:23691 0x8b760b c_parse_final_cleanups() ../../gcc/gcc/cp/decl2.c:4721 Please submit a full bug report, [etc.] The regression was introduced between 2017-05-06 and 2017-05-12.