diff options
author | Eric Blake <eblake@redhat.com> | 2014-08-01 15:44:51 +0000 |
---|---|---|
committer | Eric Blake <eblake@redhat.com> | 2014-08-01 15:44:51 +0000 |
commit | ada456dcfed23e2f3f1d92574993aef15e134418 (patch) | |
tree | 957d292ef7b5de776e9c88a95e14b310c0921aed /newlib/libc/include/_ansi.h | |
parent | 02206cd3e4c414635e5094670d440069959c4198 (diff) | |
download | cygnal-ada456dcfed23e2f3f1d92574993aef15e134418.tar.gz cygnal-ada456dcfed23e2f3f1d92574993aef15e134418.tar.bz2 cygnal-ada456dcfed23e2f3f1d92574993aef15e134418.zip |
headers: properly decorate attributes
Found by:
find -name '*.h' |xargs grep -i 'attribute.*(([a-z]'
For an example of the type of bugs this causes, try compiling this valid
C11 program (it's valid because 'noreturn' is reserved for use in the
user namespace unless you include <stdnoreturn.h>):
$ cat foo.c
#define noreturn __attribute__((noreturn))
#include <stdlib.h>
$ gcc -c -o foo.o -Wall foo.c
In file included from /usr/include/stdlib.h:11:0,
from foo.c:2:
foo.c:1:18: error: expected ')' before '__attribute__'
#define noreturn __attribute__((noreturn))
^
/usr/include/stdlib.h:66:28: error: expected ',' or ';' before ')' token
_VOID _EXFUN(abort,(_VOID) _ATTRIBUTE ((noreturn)));
^
* libc/machine/spu/spu_timer_internal.h: Decorate attribute names
with __, for namespace safety.
* libc/machine/xscale/machine/profile.h: Likewise.
* libc/include/stdlib.h: Likewise.
* libc/include/_ansi.h: Likewise.
* libc/include/sys/unistd.h: Likewise.
* libc/sys/linux/linuxthreads/libc-symbols.h: Likewise.
* libc/sys/linux/linuxthreads/internals.h: Likewise.
* libc/sys/linux/machine/i386/weakalias.h: Likewise.
* libc/sys/linux/machine/i386/dl-procinfo.h: Likewise.
* libc/sys/linux/machine/i386/dl-machine.h: Likewise.
* libc/sys/linux/libc-symbols.h: Likewise.
* libc/sys/linux/iconv/gconv_charset.h: Likewise.
* libc/sys/linux/include/resolv.h: Likewise.
* libc/sys/linux/sys/unistd.h: Likewise.
* libc/sys/linux/dl/atomicity.h: Likewise.
* libc/sys/linux/dl/dynamic-link.h: Likewise.
* libc/sys/linux/dl/ldsodefs.h: Likewise.
Diffstat (limited to 'newlib/libc/include/_ansi.h')
-rw-r--r-- | newlib/libc/include/_ansi.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/newlib/libc/include/_ansi.h b/newlib/libc/include/_ansi.h index c5597b30b..7ac71e2dd 100644 --- a/newlib/libc/include/_ansi.h +++ b/newlib/libc/include/_ansi.h @@ -35,7 +35,7 @@ #define _END_STD_C } #endif #if __GNUC_PREREQ (3, 3) -#define _NOTHROW __attribute__ ((nothrow)) +#define _NOTHROW __attribute__ ((__nothrow__)) #else #define _NOTHROW throw() #endif |