Re: kernel coding style for if ... else which cross #ifdef
From: H. Peter Anvin
Date: Sat May 24 2008 - 16:47:00 EST
Jeremy Fitzhardinge wrote:
Tom Spink wrote:
A thought occurred to me that we may be able to used some preprocessor
magic and do this:
#define config_defined(x) CFGVAL_## x
Which means that, if we get Kconfig to produce:
#define CFGVAL_CONFIG_FOO 0
#define CFGVAL_CONFIG_VALUE_BAR 1
#define CFGVAL_CONFIG_VALUE_BAZ_MODULE 1
We can use this:
if (config_defined(CONFIG_FOO) && some_expr) {
panic("Oh no.");
}
Well, in that case you could use Willy's magic hack:
#define config_defined(x) (x - 0)
Which isn't a bad alternative to defining a whole pile of new symbols...
That can *strongly* be argued with.
In particular, the use of #ifdef is crap to begin with. Using #if even
for the preprocessor makes it possible to trap misspellings.
-hpa
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/