xref: /Universal-ctags/Units/parser-c.r/directives.c.d/input.c (revision 923b7a4a49b47fa9d65e31b0c73e2ee7e1d71a5d)
1 /* Test simple cases */
2 #define VARIABLE_LIKE	some_value
3 #define FUNCTION_LIKE(a,b)  (a + b)
4 #pragma weak WeakSymbol = StrongSymbol
5 
6 #define with_long_comment  /* line 1
7 			      line 2 */
8 
9 /* Test usual case */
10 #ifdef MY_MACRO
11 # define MACRO_TO_SEE1 1
12 int a;
13 #elif YOUR_MACRO
14 # define MACRO_TO_SEE2 2
15 int b;
16 #elif defined (THEIR_MACRO)
17 # define MACRO_TO_SEE3 3
18 int c;
19 #else
20 # define MACRO_TO_SEE4 4
21 int d;
22 #endif
23 
24 /* Test commented-out case */
25 #if 0
26 #define IGNORE_MACRO
27 int e;
28 # if 0
29 #  define ANOTHER_IGNORE_MACRO
30 int f;
31 # else
32 #  define YAIM
33 # endif
34 #else
35 # define SEE_THIS_MACRO 1
36 int g;
37 #endif
38 
39 /* Test path selection algorithm */
40 #ifdef OK
41 #define PATH1
foo1(void)42 int foo1 (void)
43 {
44 #define  z_this_branch_is_chosen 0
45 #elif defined (OK)
46 #define PATH2
47 int foo2 (void)
48 {
49 #else
50 #define PATH3
51 int foo3 (void)
52 {
53 #endif
54 }
55 
56 int bar1 (void)
57 {
58 #ifdef OK
59 #define PATH1b
60 }
61 int p1;
62 #elif defined (OK)
63 #define PATH2b
64 }
65 int p2;
66 #else
67 #define PATH3b
68 }
69 int p3;
70 #endif
71 #undef MACRO_TO_SEE1
72 
73