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 @@ ...@@ -17,7 +17,7 @@
* fprintf(stderr, "Error: %s (%s)\n", reason, strerror(errno)); * fprintf(stderr, "Error: %s (%s)\n", reason, strerror(errno));
* } * }
*/ */
#define COLD __attribute__((cold)) #define COLD __attribute__((__cold__))
#else #else
#define COLD #define COLD
#endif #endif
...@@ -37,7 +37,7 @@ ...@@ -37,7 +37,7 @@
* exit(1); * exit(1);
* } * }
*/ */
#define NORETURN __attribute__((noreturn)) #define NORETURN __attribute__((__noreturn__))
#else #else
#define NORETURN #define NORETURN
#endif #endif
...@@ -71,7 +71,7 @@ ...@@ -71,7 +71,7 @@
* same value for the exact same arguments. This implies that the function * same value for the exact same arguments. This implies that the function
* must not use global variables, or dereference pointer arguments. * must not use global variables, or dereference pointer arguments.
*/ */
#define CONST_FUNCTION __attribute__((const)) #define CONST_FUNCTION __attribute__((__const__))
#else #else
#define CONST_FUNCTION #define CONST_FUNCTION
#endif #endif
...@@ -109,7 +109,7 @@ ...@@ -109,7 +109,7 @@
* counter += add; * counter += add;
* } * }
*/ */
#define UNNEEDED __attribute__((unused)) #define UNNEEDED __attribute__((__unused__))
#endif #endif
#ifndef NEEDED #ifndef NEEDED
...@@ -128,10 +128,10 @@ ...@@ -128,10 +128,10 @@
* printf("Counter is %i\n", counter); * printf("Counter is %i\n", counter);
* } * }
*/ */
#define NEEDED __attribute__((used)) #define NEEDED __attribute__((__used__))
#else #else
/* Before used, unused functions and vars were always emitted. */ /* Before used, unused functions and vars were always emitted. */
#define NEEDED __attribute__((unused)) #define NEEDED __attribute__((__unused__))
#endif #endif
#endif #endif
...@@ -150,7 +150,7 @@ ...@@ -150,7 +150,7 @@
* return 0; * return 0;
* } * }
*/ */
#define UNUSED __attribute__((unused)) #define UNUSED __attribute__((__unused__))
#endif #endif
#else #else
#ifndef UNNEEDED #ifndef UNNEEDED
...@@ -223,7 +223,7 @@ ...@@ -223,7 +223,7 @@
* return realloc(buf, (*size) *= 2); * return realloc(buf, (*size) *= 2);
* } * }
*/ */
#define WARN_UNUSED_RESULT __attribute__((warn_unused_result)) #define WARN_UNUSED_RESULT __attribute__((__warn_unused_result__))
#else #else
#define WARN_UNUSED_RESULT #define WARN_UNUSED_RESULT
#endif #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