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