From ada456dcfed23e2f3f1d92574993aef15e134418 Mon Sep 17 00:00:00 2001 From: Eric Blake Date: Fri, 1 Aug 2014 15:44:51 +0000 Subject: 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 ): $ cat foo.c #define noreturn __attribute__((noreturn)) #include $ 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. --- newlib/libc/sys/linux/dl/ldsodefs.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'newlib/libc/sys/linux/dl/ldsodefs.h') diff --git a/newlib/libc/sys/linux/dl/ldsodefs.h b/newlib/libc/sys/linux/dl/ldsodefs.h index e6f57ddcf..8cf487ad9 100644 --- a/newlib/libc/sys/linux/dl/ldsodefs.h +++ b/newlib/libc/sys/linux/dl/ldsodefs.h @@ -162,7 +162,7 @@ struct libname_list /* Test whether given NAME matches any of the names of the given object. */ static __inline int -__attribute__ ((unused)) +__attribute__ ((__unused__)) _dl_name_match_p (const char *__name, struct link_map *__map) { int __found = strcmp (__name, __map->l_name) == 0; -- cgit v1.2.3