summaryrefslogtreecommitdiffstats
path: root/newlib/libc/include
diff options
context:
space:
mode:
authorEric Blake <eblake@redhat.com>2014-08-01 15:44:51 +0000
committerEric Blake <eblake@redhat.com>2014-08-01 15:44:51 +0000
commitada456dcfed23e2f3f1d92574993aef15e134418 (patch)
tree957d292ef7b5de776e9c88a95e14b310c0921aed /newlib/libc/include
parent02206cd3e4c414635e5094670d440069959c4198 (diff)
downloadcygnal-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')
-rw-r--r--newlib/libc/include/_ansi.h2
-rw-r--r--newlib/libc/include/stdlib.h6
-rw-r--r--newlib/libc/include/sys/unistd.h2
3 files changed, 5 insertions, 5 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
diff --git a/newlib/libc/include/stdlib.h b/newlib/libc/include/stdlib.h
index 905cf5d59..dee9ed613 100644
--- a/newlib/libc/include/stdlib.h
+++ b/newlib/libc/include/stdlib.h
@@ -63,7 +63,7 @@ int _EXFUN(__locale_mb_cur_max,(_VOID));
#define MB_CUR_MAX __locale_mb_cur_max()
-_VOID _EXFUN(abort,(_VOID) _ATTRIBUTE ((noreturn)));
+_VOID _EXFUN(abort,(_VOID) _ATTRIBUTE ((__noreturn__)));
int _EXFUN(abs,(int));
int _EXFUN(atexit,(_VOID (*__func)(_VOID)));
double _EXFUN(atof,(const char *__nptr));
@@ -81,7 +81,7 @@ _PTR _EXFUN(bsearch,(const _PTR __key,
__compar_fn_t _compar));
_PTR _EXFUN_NOTHROW(calloc,(size_t __nmemb, size_t __size));
div_t _EXFUN(div,(int __numer, int __denom));
-_VOID _EXFUN(exit,(int __status) _ATTRIBUTE ((noreturn)));
+_VOID _EXFUN(exit,(int __status) _ATTRIBUTE ((__noreturn__)));
_VOID _EXFUN_NOTHROW(free,(_PTR));
char * _EXFUN(getenv,(const char *__string));
char * _EXFUN(_getenv_r,(struct _reent *, const char *__string));
@@ -151,7 +151,7 @@ long _EXFUN(a64l,(const char *__input));
char * _EXFUN(l64a,(long __input));
char * _EXFUN(_l64a_r,(struct _reent *,long __input));
int _EXFUN(on_exit,(_VOID (*__func)(int, _PTR),_PTR __arg));
-_VOID _EXFUN(_Exit,(int __status) _ATTRIBUTE ((noreturn)));
+_VOID _EXFUN(_Exit,(int __status) _ATTRIBUTE ((__noreturn__)));
int _EXFUN(putenv,(char *__string));
int _EXFUN(_putenv_r,(struct _reent *, char *__string));
_PTR _EXFUN(_reallocf_r,(struct _reent *, _PTR, size_t));
diff --git a/newlib/libc/include/sys/unistd.h b/newlib/libc/include/sys/unistd.h
index cd7640f26..2c3afc93a 100644
--- a/newlib/libc/include/sys/unistd.h
+++ b/newlib/libc/include/sys/unistd.h
@@ -15,7 +15,7 @@ extern "C" {
extern char **environ;
-void _EXFUN(_exit, (int __status ) _ATTRIBUTE ((noreturn)));
+void _EXFUN(_exit, (int __status ) _ATTRIBUTE ((__noreturn__)));
int _EXFUN(access,(const char *__path, int __amode ));
unsigned _EXFUN(alarm, (unsigned __secs ));