F
Francois Grieu
One of the C compiler that I use <OT>(Keil's CX51)</OT> barks at
#define a(b) b
int main(void){return a(
#if 0
#endif
0);}
More generally, this compiler seems confused by any preprocessing
directive in the middle of macro arguments, which comes handy e.g. to
conditionaly select one of several arguments passed to a macro.
Is it a compiler bug? Where does C89 define if this is valid or not?
TIA.
Francois Grieu
#define a(b) b
int main(void){return a(
#if 0
#endif
0);}
More generally, this compiler seems confused by any preprocessing
directive in the middle of macro arguments, which comes handy e.g. to
conditionaly select one of several arguments passed to a macro.
Is it a compiler bug? Where does C89 define if this is valid or not?
TIA.
Francois Grieu