[Bug middle-end/60467] ICE with -fcilkplus
andi-gcc at firstfloor dot org
gcc-bugzilla@gcc.gnu.org
Wed Apr 9 20:13:00 GMT 2014
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60467
--- Comment #1 from Andi Kleen <andi-gcc at firstfloor dot org> ---
We could add this patch to avoid the original problem:
diff --git a/gcc/c-family/cilk.c b/gcc/c-family/cilk.c
index f2179dfc..a535948 100644
--- a/gcc/c-family/cilk.c
+++ b/gcc/c-family/cilk.c
@@ -712,8 +712,9 @@ create_cilk_wrapper (tree exp, tree *args_out)
else
extract_free_variables (exp, &wd, ADD_READ);
pointer_map_traverse (wd.decl_map, declare_one_free_variable, &wd);
- wd.block = TREE_BLOCK (exp);
- if (!wd.block)
+ if (IS_EXPR_CODE_CLASS (TREE_CODE_CLASS (TREE_CODE (exp))))
+ wd.block = TREE_BLOCK (exp);
+ else
wd.block = DECL_INITIAL (current_function_decl);
However this just causes the next ICE later
#1 0x00000000008a8e20 in gimplify_expr (expr_p=0x7ffff6d58bf8,
pre_p=0x7fffffffd5f8, post_p=0x7fffffffd130,
gimple_test_f=0x8957a2 <is_gimple_addressable(tree)>, fallback=3) at
../../gcc/gcc/gimplify.c:8359
8359 gcc_assert (fallback & fb_mayfail);
(gdb) p fallback
$1 = 3
(gdb) p/d fb_mayfail
$2 = 4
More information about the Gcc-bugs
mailing list