On Thu, 6 Feb 2014, Jakub Jelinek wrote:

> On Thu, Feb 06, 2014 at 11:00:14AM +0100, Richard Biener wrote:
> > Ah, so __builtin_setjmp_receiver is like setjmp in this regard
> > and setjmp is LEAF (it's a stmt that doesn't direct control-flow
> > anywhere else).  So __builtin_setjmp_receiver should be LEAF as well
> > (and so should __builtin_setjmp_setup).
> > 
> > Doesn't sound dangerous at all to me ...
> 
> This passed bootstrap/regtest and fixed the timeouts too.  Ok for trunk?

Ok.

Thanks,
Richard.

> 2014-02-06  Jakub Jelinek  <ja...@redhat.com>
> 
>       PR c++/60082
>       * tree.c (build_common_builtin_nodes): Set ECF_LEAF for
>       __builtin_setjmp_receiver.
> 
>       Revert
>       2014-02-05  Balaji V. Iyer  <balaji.v.i...@intel.com>
> 
>       * g++.dg/cilk-plus/CK/catch_exc.cc: Disable test for -O1.
>       * c-c++-common/cilk-plus/CK/spawner_inline.c: Likewise.
> 
> --- gcc/tree.c.jj     2014-02-04 10:30:15.010121513 +0100
> +++ gcc/tree.c        2014-02-06 17:03:49.034656060 +0100
> @@ -9980,7 +9980,7 @@ build_common_builtin_nodes (void)
>    ftype = build_function_type_list (void_type_node, ptr_type_node, 
> NULL_TREE);
>    local_define_builtin ("__builtin_setjmp_receiver", ftype,
>                       BUILT_IN_SETJMP_RECEIVER,
> -                     "__builtin_setjmp_receiver", ECF_NOTHROW);
> +                     "__builtin_setjmp_receiver", ECF_NOTHROW | ECF_LEAF);
>  
>    ftype = build_function_type_list (ptr_type_node, NULL_TREE);
>    local_define_builtin ("__builtin_stack_save", ftype, BUILT_IN_STACK_SAVE,
> --- gcc/testsuite/g++.dg/cilk-plus/CK/catch_exc.cc    (revision 207519)
> +++ gcc/testsuite/g++.dg/cilk-plus/CK/catch_exc.cc    (revision 207518)
> @@ -1,7 +1,6 @@
>  /* { dg-options "-fcilkplus" } */
>  /* { dg-do run { target i?86-*-* x86_64-*-* arm*-*-* } } */
>  /* { dg-options "-fcilkplus -lcilkrts" { target { i?86-*-* x86_64-*-* 
> arm*-*-* } } } */
> -/* { dg-skip-if "" { *-*-* } { "-O1" } { "" } } */
>  
>  #include <assert.h>
>  #include <unistd.h>
> --- gcc/testsuite/c-c++-common/cilk-plus/CK/spawner_inline.c  (revision 
> 207519)
> +++ gcc/testsuite/c-c++-common/cilk-plus/CK/spawner_inline.c  (revision 
> 207518)
> @@ -1,7 +1,6 @@
>  /* { dg-do run  { target { i?86-*-* x86_64-*-* } } } */
>  /* { dg-options "-fcilkplus" } */
>  /* { dg-additional-options "-lcilkrts" { target { i?86-*-* x86_64-*-* } } } 
> */
> -/* { dg-skip-if "" { *-*-* } { "-O1" } { "" } } */
>  
>  #include <stdlib.h>
>  #define DEFAULT_VALUE 30
> 
>       Jakub
> 
> 

-- 
Richard Biener <rguent...@suse.de>
SUSE / SUSE Labs
SUSE LINUX Products GmbH - Nuernberg - AG Nuernberg - HRB 16746
GF: Jeff Hawn, Jennifer Guild, Felix Imend"orffer

Reply via email to