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  <ja...@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",

Reply via email to