>>172
Of course this can be bypassed by forcing gcc to evaluate the macro twice.
e.g.
#define D #define
D a25 100
if run via gcc code.c -E | gcc -xc -
this would produce
#define a25 100 //not processed by C
and second pass (gcc -xc -)
with set a25 correctly.