This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] Fix up __builtin_setjmp_receiver handling (PR c++/60082, take 2)


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  <jakub@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.iyer@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 <rguenther@suse.de>
SUSE / SUSE Labs
SUSE LINUX Products GmbH - Nuernberg - AG Nuernberg - HRB 16746
GF: Jeff Hawn, Jennifer Guild, Felix Imend"orffer


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]