From: Cody P Schafer Date: Sat, 21 Jun 2014 00:46:01 +0000 (-0400) Subject: compiler: avoid barfing when config.h & the current -std= mode mismatch X-Git-Url: http://git.ozlabs.org/?p=ccan;a=commitdiff_plain;h=23e96f89d54b8d5c4675284bbcd44fba68d8f826;hp=48c1824304ac2d8aeaef7b8a55c7d9edc8992f63;ds=sidebyside 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 Signed-off-by: Cody P Schafer Signed-off-by: Rusty Russell --- diff --git a/ccan/compiler/compiler.h b/ccan/compiler/compiler.h index 42245646..bce4f25a 100644 --- a/ccan/compiler/compiler.h +++ b/ccan/compiler/compiler.h @@ -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