1*a5a4af3bSchristos #ifdef DEF_MACROS 2*a5a4af3bSchristos 3*a5a4af3bSchristos #ifdef ONE 4*a5a4af3bSchristos #ifdef FOO 5*a5a4af3bSchristos #undef FOO 6*a5a4af3bSchristos #endif 7*a5a4af3bSchristos #define FOO "hello" 8*a5a4af3bSchristos #else 9*a5a4af3bSchristos #undef FOO 10*a5a4af3bSchristos #endif 11*a5a4af3bSchristos 12*a5a4af3bSchristos 13*a5a4af3bSchristos #ifdef TWO 14*a5a4af3bSchristos #ifdef FOO 15*a5a4af3bSchristos #undef FOO 16*a5a4af3bSchristos #endif 17*a5a4af3bSchristos #define FOO " " 18*a5a4af3bSchristos #endif 19*a5a4af3bSchristos 20*a5a4af3bSchristos #ifdef THREE 21*a5a4af3bSchristos #ifdef FOO 22*a5a4af3bSchristos #undef FOO 23*a5a4af3bSchristos #endif 24*a5a4af3bSchristos #define FOO "world" 25*a5a4af3bSchristos #endif 26*a5a4af3bSchristos 27*a5a4af3bSchristos #ifdef FOUR 28*a5a4af3bSchristos #ifdef FOO 29*a5a4af3bSchristos #undef FOO 30*a5a4af3bSchristos #endif 31*a5a4af3bSchristos #define FOO(a) foo = a 32*a5a4af3bSchristos #endif 33*a5a4af3bSchristos #else 34*a5a4af3bSchristos main(int argc,const char ** argv)35*a5a4af3bSchristosint main (int argc, const char **argv) 36*a5a4af3bSchristos { 37*a5a4af3bSchristos char *foo; 38*a5a4af3bSchristos 39*a5a4af3bSchristos #define DEF_MACROS 40*a5a4af3bSchristos #define ONE 41*a5a4af3bSchristos #include "info-macros.c" 42*a5a4af3bSchristos foo = FOO; 43*a5a4af3bSchristos 44*a5a4af3bSchristos #define TWO 45*a5a4af3bSchristos #include "info-macros.c" 46*a5a4af3bSchristos foo = FOO; 47*a5a4af3bSchristos 48*a5a4af3bSchristos #define THREE 49*a5a4af3bSchristos #include "info-macros.c" 50*a5a4af3bSchristos foo = FOO; 51*a5a4af3bSchristos 52*a5a4af3bSchristos #undef THREE 53*a5a4af3bSchristos #include "info-macros.c" 54*a5a4af3bSchristos foo = FOO; 55*a5a4af3bSchristos 56*a5a4af3bSchristos #undef TWO 57*a5a4af3bSchristos #include "info-macros.c" 58*a5a4af3bSchristos foo = FOO; 59*a5a4af3bSchristos 60*a5a4af3bSchristos #undef ONE 61*a5a4af3bSchristos #include "info-macros.c" 62*a5a4af3bSchristos foo = (char *)0; 63*a5a4af3bSchristos 64*a5a4af3bSchristos #define FOUR 65*a5a4af3bSchristos #include "info-macros.c" 66*a5a4af3bSchristos FOO ("the end."); 67*a5a4af3bSchristos 68*a5a4af3bSchristos return 0; 69*a5a4af3bSchristos } 70*a5a4af3bSchristos #endif 71*a5a4af3bSchristos 72