Commit 23e96f89 authored by Cody P Schafer's avatar Cody P Schafer Committed by Rusty Russell

compiler: avoid barfing when config.h & the current -std= mode mismatch

Add a bunch of __ for all the attribute members.

Lets us keep working even if configurator is called with different
CFLAGS than the build of a file which includes compiler.h

Idealy, we (people using ccan) wouldn't let this happen, however I don't
see any reason /not/ to avoid build breakage in the above case.

Long term, it might make sense to plug some logic into configurator's
config.h (or a cc wrapper, so something else) to warn when the current
flags don't look the same as the ones used to generate config.h

CC: Rusty Russell <rusty@rustcorp.com.au>
Signed-off-by: default avatarCody P Schafer <dev@codyps.com>
Signed-off-by: default avatarRusty Russell <rusty@rustcorp.com.au>
parent 48c18243
......@@ -17,7 +17,7 @@
* fprintf(stderr, "Error: %s (%s)\n", reason, strerror(errno));
* }
*/
#define COLD __attribute__((cold))
#define COLD __attribute__((__cold__))
#else
#define COLD
#endif
......@@ -37,7 +37,7 @@
* exit(1);
* }
*/
#define NORETURN __attribute__((noreturn))
#define NORETURN __attribute__((__noreturn__))
#else
#define NORETURN
#endif
......@@ -71,7 +71,7 @@
* same value for the exact same arguments. This implies that the function
* must not use global variables, or dereference pointer arguments.
*/
#define CONST_FUNCTION __attribute__((const))
#define CONST_FUNCTION __attribute__((__const__))
#else
#define CONST_FUNCTION
#endif
......@@ -109,7 +109,7 @@
* counter += add;
* }
*/
#define UNNEEDED __attribute__((unused))
#define UNNEEDED __attribute__((__unused__))
#endif
#ifndef NEEDED
......@@ -128,10 +128,10 @@
* printf("Counter is %i\n", counter);
* }
*/
#define NEEDED __attribute__((used))
#define NEEDED __attribute__((__used__))
#else
/* Before used, unused functions and vars were always emitted. */
#define NEEDED __attribute__((unused))
#define NEEDED __attribute__((__unused__))
#endif
#endif
......@@ -150,7 +150,7 @@
* return 0;
* }
*/
#define UNUSED __attribute__((unused))
#define UNUSED __attribute__((__unused__))
#endif
#else
#ifndef UNNEEDED
......@@ -223,7 +223,7 @@
* return realloc(buf, (*size) *= 2);
* }
*/
#define WARN_UNUSED_RESULT __attribute__((warn_unused_result))
#define WARN_UNUSED_RESULT __attribute__((__warn_unused_result__))
#else
#define WARN_UNUSED_RESULT
#endif
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment