Don't interfere with a program's definition of __attribute__.
authorIan Beckwith <ianb@erislabs.net>
Wed, 16 Feb 2011 23:48:26 +0000 (23:48 +0000)
committerIan Beckwith <ianb@erislabs.net>
Wed, 16 Feb 2011 23:48:26 +0000 (23:48 +0000)
commitc7a1790f0b242e87c95a29771bd07d2841a914a9
treeec7f6364496c4670178980957228e573a42fbe89
parent53e1d75acd01aa8c67f3c9b1ed356cd45d7db298
Don't interfere with a program's definition of __attribute__.

* lib/argp.h (__attribute__): Remove definition.
(_GL_ATTRIBUTE_FORMAT): New macro.
(argp_error, __argp_error, argp_failure, __argp_failure): Use it.
* lib/argp-fmtstream.h (__attribute__): Remove definition.
(_GL_ATTRIBUTE_FORMAT): New macro.
(__argp_fmtstream_printf, argp_fmtstream_printf): Use it.
* lib/argp-help.c (hol_entry_long_iterate): Use __attribute__ only for
GCC 3 or newer.
* lib/error.h (__attribute__): Remove definition.
(_GL_ATTRIBUTE_FORMAT): New macro.
(error, error_at_line): Use it.
* lib/hash.h (__attribute__): Remove definition.
(ATTRIBUTE_WUR): Update definition. Define always.
* lib/openat.h (__attribute__): Remove definition.
(ATTRIBUTE_NORETURN): Update definition. Define always.
* lib/sigpipe-die.h (__attribute__): Remove definition.
(ATTRIBUTE_NORETURN): Update definition. Define always.
* lib/vasnprintf.h (__attribute__): Remove definition.
(_GL_ATTRIBUTE_FORMAT): New macro.
(asnprintf, vasnprintf): Use it.
* lib/xalloc.h (__attribute__): Remove definition.
(ATTRIBUTE_NORETURN): Update definition. Define always.
(ATTRIBUTE_MALLOC, ATTRIBUTE_ALLOC_SIZE): Define always.
* lib/xmemdup0.h (__attribute__): Remove definition.
(ATTRIBUTE_NORETURN): Update definition. Define always.
* lib/xprintf.h (__attribute__): Remove definition.
(_GL_ATTRIBUTE_FORMAT): New macro.
(xprintf, xvprintf, xfprintf, xvfprintf): Use it.
* lib/xstrtol.h (__attribute__): Remove definition.
(ATTRIBUTE_NORETURN): Update definition. Define always.
* lib/xvasprintf.h (__attribute__): Remove definition.
(_GL_ATTRIBUTE_FORMAT): New macro.
(xasprintf, xvasprintf): Use it.
* tests/test-argmatch.c (__attribute__): Remove definition.
(ATTRIBUTE_NORETURN): Update definition. Define always.
* tests/test-exclude.c (__attribute__): Remove definition.
(ATTRIBUTE_NORETURN): Update definition. Define always.
Reported by Paul Eggert.
(cherry picked from commit f6a5a124d0cb326acd4dfa9ce3276baa26734b16)
16 files changed:
ChangeLog
lib/argp-fmtstream.h
lib/argp-help.c
lib/argp.h
lib/error.h
lib/hash.h
lib/openat.h
lib/sigpipe-die.h
lib/vasnprintf.h
lib/xalloc.h
lib/xmemdup0.h
lib/xprintf.h
lib/xstrtol.h
lib/xvasprintf.h
tests/test-argmatch.c
tests/test-exclude.c