http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60197
Bug ID: 60197
Summary: ICE with _Cilk_spawn in expression
Product: gcc
Version: 4.9.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c
Assignee: unassigned at gcc dot gnu.org
Reporter: reichelt at gcc dot gnu.org
The following valid(?) code snippet (compiled with "-fcilkplus") triggers
an ICE on trunk:
===========================================
int foo()
{
return (_Cilk_spawn foo()) + 1;
}
===========================================
gimplification failed:
<statement_list 0x7f6dc2014420
type <void_type 0x7f6dc1eed000 void VOID
align 8 symtab 0 alias set -1 canonical type 0x7f6dc1eed000
pointer_to_this <pointer_type 0x7f6dc1eed0a8>>
head (nil) tail (nil) stmts
>
bug.c: In function 'foo':
bug.c:9:30: internal compiler error: gimplification failed
return (_Cilk_spawn foo()) + 1;
^
0x84252a gimplify_expr(tree_node**, gimple_statement_base**,
gimple_statement_base**, bool (*)(tree_node*), int)
../../gcc/gcc/gimplify.c:8356
0x8411dc gimplify_expr(tree_node**, gimple_statement_base**,
gimple_statement_base**, bool (*)(tree_node*), int)
../../gcc/gcc/gimplify.c:8135
0x83e6fb gimplify_modify_expr
../../gcc/gcc/gimplify.c:4507
0x84058b gimplify_expr(tree_node**, gimple_statement_base**,
gimple_statement_base**, bool (*)(tree_node*), int)
../../gcc/gcc/gimplify.c:7448
0x844726 gimplify_stmt(tree_node**, gimple_statement_base**)
../../gcc/gcc/gimplify.c:5341
0x842c1e gimplify_and_add
../../gcc/gcc/gimplify.c:384
0x842c1e gimplify_return_expr
../../gcc/gcc/gimplify.c:1241
0x842c1e gimplify_expr(tree_node**, gimple_statement_base**,
gimple_statement_base**, bool (*)(tree_node*), int)
../../gcc/gcc/gimplify.c:7695
0x844726 gimplify_stmt(tree_node**, gimple_statement_base**)
../../gcc/gcc/gimplify.c:5341
0x840cd6 gimplify_and_add
../../gcc/gcc/gimplify.c:384
0x840cd6 gimplify_expr(tree_node**, gimple_statement_base**,
gimple_statement_base**, bool (*)(tree_node*), int)
../../gcc/gcc/gimplify.c:7785
0x844726 gimplify_stmt(tree_node**, gimple_statement_base**)
../../gcc/gcc/gimplify.c:5341
0x84084b gimplify_statement_list
../../gcc/gcc/gimplify.c:1412
0x84084b gimplify_expr(tree_node**, gimple_statement_base**,
gimple_statement_base**, bool (*)(tree_node*), int)
../../gcc/gcc/gimplify.c:7863
0x844726 gimplify_stmt(tree_node**, gimple_statement_base**)
../../gcc/gcc/gimplify.c:5341
0x84542f gimplify_bind_expr
../../gcc/gcc/gimplify.c:1079
0x84029e gimplify_expr(tree_node**, gimple_statement_base**,
gimple_statement_base**, bool (*)(tree_node*), int)
../../gcc/gcc/gimplify.c:7645
0x844726 gimplify_stmt(tree_node**, gimple_statement_base**)
../../gcc/gcc/gimplify.c:5341
0x845f69 gimplify_body(tree_node*, bool)
../../gcc/gcc/gimplify.c:8555
0x846546 gimplify_function_tree(tree_node*)
../../gcc/gcc/gimplify.c:8708
Please submit a full bug report, [etc.]