https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69017
Bug ID: 69017 Summary: [cilkplus] ICE with valid cilk_spawn 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: --- The below valid code causes this ICE: t1.cpp: In function ‘void g()’: t1.cpp:18:22: internal compiler error: gimplification failed b = _Cilk_spawn f2(); ^ 0xd6388a gimplify_expr(tree_node**, gimple**, gimple**, bool (*)(tree_node*), int) ../../src-fix/gcc/gimplify.c:11047 0xd493c6 gimplify_addr_expr ../../src-fix/gcc/gimplify.c:5075 0xd60829 gimplify_expr(tree_node**, gimple**, gimple**, bool (*)(tree_node*), int) ../../src-fix/gcc/gimplify.c:10162 0xd4b2fd gimplify_stmt(tree_node**, gimple**) ../../src-fix/gcc/gimplify.c:5616 0xd48e5e gimplify_compound_expr ../../src-fix/gcc/gimplify.c:4943 0xd48de0 gimplify_compound_expr ../../src-fix/gcc/gimplify.c:4930 0xd6049b gimplify_expr(tree_node**, gimple**, gimple**, bool (*)(tree_node*), int) ../../src-fix/gcc/gimplify.c:10105 0xd4b2fd gimplify_stmt(tree_node**, gimple**) ../../src-fix/gcc/gimplify.c:5616 0xd4a9e5 gimplify_cleanup_point_expr ../../src-fix/gcc/gimplify.c:5392 0xd61c92 gimplify_expr(tree_node**, gimple**, gimple**, bool (*)(tree_node*), int) ../../src-fix/gcc/gimplify.c:10481 0xd4b2fd gimplify_stmt(tree_node**, gimple**) ../../src-fix/gcc/gimplify.c:5616 0xd3c296 gimplify_statement_list ../../src-fix/gcc/gimplify.c:1526 0xd62039 gimplify_expr(tree_node**, gimple**, gimple**, bool (*)(tree_node*), int) ../../src-fix/gcc/gimplify.c:10533 0xd4b2fd gimplify_stmt(tree_node**, gimple**) ../../src-fix/gcc/gimplify.c:5616 0xd38d23 gimplify_and_add(tree_node*, gimple**) ../../src-fix/gcc/gimplify.c:425 0xd619a9 gimplify_expr(tree_node**, gimple**, gimple**, bool (*)(tree_node*), int) ../../src-fix/gcc/gimplify.c:10455 0xd4b2fd gimplify_stmt(tree_node**, gimple**) ../../src-fix/gcc/gimplify.c:5616 0xd3c296 gimplify_statement_list ../../src-fix/gcc/gimplify.c:1526 0xd62039 gimplify_expr(tree_node**, gimple**, gimple**, bool (*)(tree_node*), int) ../../src-fix/gcc/gimplify.c:10533 0xd4b2fd gimplify_stmt(tree_node**, gimple**) ../../src-fix/gcc/gimplify.c:5616 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. /////////////////////////////////////////////////////////////////////// struct A { A() = default; A(const A&) {} }; struct B { B() = default; B& operator=(A a) { } }; B f() { return {}; } void g() { B b; b = _Cilk_spawn f(); } int main() { g(); return 0; } ///////////////////////////////////////////////////////////////////////