This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug c++/60082] Certain Cilk keywords executable Hanging for -O1
- From: "jakub at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Fri, 07 Feb 2014 13:01:12 +0000
- Subject: [Bug c++/60082] Certain Cilk keywords executable Hanging for -O1
- Auto-submitted: auto-generated
- References: <bug-60082-4 at http dot gcc dot gnu dot org/bugzilla/>
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60082
--- Comment #5 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
catch_exc.cc FAILs (other than timeout) seem to be a Cilk+ bug, if it ever
worked, it seems to have worked by accident.
The problem is that __cilkrts_rethrow conditionally throws an exception, but is
marked TREE_NOTHROW, thus there are no EH edges out of it.
2014-02-07 Jakub Jelinek <jakub@redhat.com>
* cilk-common.c (cilk_init_builtins): Clear TREE_NOTHROW
flag on __cilkrts_rethrow builtin.
--- gcc/cilk-common.c.jj 2014-02-06 23:06:47.000000000 +0100
+++ gcc/cilk-common.c 2014-02-07 11:11:15.253128977 +0100
@@ -285,6 +285,7 @@ cilk_init_builtins (void)
/* __cilkrts_rethrow (struct stack_frame *); */
cilk_rethrow_fndecl = install_builtin ("__cilkrts_rethrow", fptr_fun,
BUILT_IN_CILK_RETHROW, false);
+ TREE_NOTHROW (cilk_rethrow_fndecl) = 0;
/* __cilkrts_save_fp_ctrl_state (__cilkrts_stack_frame *); */
cilk_save_fp_fndecl = install_builtin ("__cilkrts_save_fp_ctrl_state",