xref: /netbsd-src/external/gpl3/gdb.old/dist/gdb/testsuite/gdb.base/info-macros.c (revision a5a4af3bd380a7b58b758d9b311cef9f7c34aeb4)
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*a5a4af3bSchristos int 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