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.