https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68045
Bug ID: 68045 Summary: [concepts] segfault in contains_struct_check ../../gcc/gcc/tree.h:2971 Product: gcc Version: 6.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: ryan.burn at gmail dot com Target Milestone: --- Created attachment 36560 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=36560&action=edit preprocessed code The attached code gives this stack trace: rnburn@localhost ~/bugs/contains_struct_check_segfault $ c++17 contains_struct_check_segfault.cpp In file included from /home/rnburn/proj/echo/parallel/include/echo/parallel/invoke_create.h:3:0, from /home/rnburn/proj/echo/parallel/unittest/invoke_create.cpp:1: /home/rnburn/proj/echo/parallel/include/echo/parallel/concept.h: In function ‘void ____C_A_T_C_H____T_E_S_T____6()’: /home/rnburn/proj/echo/parallel/include/echo/parallel/concept.h:63:61: internal compiler error: Segmentation fault uncvref_t<decltype(functors_rest())>>()...>(); ^ 0xcacfef crash_signal ../../gcc/gcc/toplev.c:352 0x67833e contains_struct_check(tree_node*, tree_node_structure_enum, char const*, int, char const*) ../../gcc/gcc/tree.h:2971 0x67833e tsubst_copy ../../gcc/gcc/cp/pt.c:13490 0x67f202 tsubst_copy_and_build(tree_node*, tree_node*, int, tree_node*, bool, bool) ../../gcc/gcc/cp/pt.c:16238 0x6813f8 tsubst_copy_and_build(tree_node*, tree_node*, int, tree_node*, bool, bool) ../../gcc/gcc/cp/pt.c:15712 0x661a6c tsubst(tree_node*, tree_node*, int, tree_node*) ../../gcc/gcc/cp/pt.c:13138 0x67cd12 tsubst_template_args ../../gcc/gcc/cp/pt.c:10839 0x6621c1 tsubst(tree_node*, tree_node*, int, tree_node*) ../../gcc/gcc/cp/pt.c:12829 0x6623bf tsubst(tree_node*, tree_node*, int, tree_node*) ../../gcc/gcc/cp/pt.c:12452 0x67cd12 tsubst_template_args ../../gcc/gcc/cp/pt.c:10839 0x67fafb tsubst_copy_and_build(tree_node*, tree_node*, int, tree_node*, bool, bool) ../../gcc/gcc/cp/pt.c:15230 0x6813f8 tsubst_copy_and_build(tree_node*, tree_node*, int, tree_node*, bool, bool) ../../gcc/gcc/cp/pt.c:15712 0x66aad1 tsubst_expr(tree_node*, tree_node*, int, tree_node*, bool) ../../gcc/gcc/cp/pt.c:15044 0x67a71e tsubst_pack_expansion(tree_node*, tree_node*, int, tree_node*) ../../gcc/gcc/cp/pt.c:10675 0x67d04a tsubst_template_args ../../gcc/gcc/cp/pt.c:10803 0x67fafb tsubst_copy_and_build(tree_node*, tree_node*, int, tree_node*, bool, bool) ../../gcc/gcc/cp/pt.c:15230 0x6813f8 tsubst_copy_and_build(tree_node*, tree_node*, int, tree_node*, bool, bool) ../../gcc/gcc/cp/pt.c:15712 0x66aad1 tsubst_expr(tree_node*, tree_node*, int, tree_node*, bool) ../../gcc/gcc/cp/pt.c:15044 0x823207 satisfy_predicate_constraint ../../gcc/gcc/cp/constraint.cc:1694 0x823207 satisfy_constraint_1 ../../gcc/gcc/cp/constraint.cc:1898 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.