diff options
author | Andreas Schwab <schwab@redhat.com> | 2011-10-27 16:52:22 +0200 |
---|---|---|
committer | Andreas Schwab <schwab@redhat.com> | 2011-10-27 17:20:14 +0200 |
commit | 3871f58f065dac3917eb18220a479e9591769c8c (patch) | |
tree | 44e025a15a6972cdf70070b6fcd04bf9330b8884 /misc/sys/cdefs.h | |
parent | 21b64b153631b762fba3489caf04e14c93c8d009 (diff) | |
download | glibc-3871f58f065dac3917eb18220a479e9591769c8c.zip glibc-3871f58f065dac3917eb18220a479e9591769c8c.tar.gz glibc-3871f58f065dac3917eb18220a479e9591769c8c.tar.bz2 |
Don't mark memory synchronisation functions as leaf
Diffstat (limited to 'misc/sys/cdefs.h')
-rw-r--r-- | misc/sys/cdefs.h | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/misc/sys/cdefs.h b/misc/sys/cdefs.h index 72073e8..16cf557 100644 --- a/misc/sys/cdefs.h +++ b/misc/sys/cdefs.h @@ -38,7 +38,8 @@ #ifdef __GNUC__ -/* All functions, except those with callbacks, are leaf functions. */ +/* All functions, except those with callbacks or those that + synchronize memory, are leaf functions. */ # if __GNUC_PREREQ (4, 6) && !defined _LIBC # define __LEAF , __leaf__ # define __LEAF_ATTR __attribute__ ((__leaf__)) @@ -54,13 +55,16 @@ the -fexceptions options for C code as well. */ # if !defined __cplusplus && __GNUC_PREREQ (3, 3) # define __THROW __attribute__ ((__nothrow__ __LEAF)) +# define __THROWNL __attribute__ ((__nothrow__)) # define __NTH(fct) __attribute__ ((__nothrow__ __LEAF)) fct # else # if defined __cplusplus && __GNUC_PREREQ (2,8) # define __THROW throw () +# define __THROWNL throw () # define __NTH(fct) __LEAF_ATTR fct throw () # else # define __THROW +# define __THROWNL # define __NTH(fct) fct # endif # endif @@ -70,6 +74,7 @@ # define __inline /* No inline functions. */ # define __THROW +# define __THROWNL # define __NTH(fct) fct # define __const const |