1// RUN: c-index-test -single-file-parse %s | FileCheck %s
2
3#include <stdint.h>
4
5// CHECK-NOT: TypedefDecl=intptr_t
6
7// CHECK: [[@LINE+1]]:12: ObjCInterfaceDecl=MyCls
8@interface MyCls
9// CHECK: [[@LINE+1]]:8: ObjCInstanceMethodDecl=some_meth
10-(void)some_meth;
11@end
12
13#if 1
14// CHECK: [[@LINE+1]]:12: ObjCInterfaceDecl=Test1
15@interface Test1 @end
16#else
17// CHECK-NOT: [[@LINE+1]]:12:
18@interface Test2 @end
19#endif
20
21#if 0
22// CHECK-NOT: [[@LINE+1]]:12:
23@interface Test3 @end
24#else
25// CHECK: [[@LINE+1]]:12: ObjCInterfaceDecl=Test4
26@interface Test4 @end
27#endif
28
29#if SOMETHING_NOT_DEFINED
30// CHECK: [[@LINE+1]]:12: ObjCInterfaceDecl=Test5
31@interface Test5 @end
32#else
33// CHECK: [[@LINE+1]]:12: ObjCInterfaceDecl=Test6
34@interface Test6 @end
35#endif
36
37#define SOMETHING_DEFINED 1
38#if SOMETHING_DEFINED
39// CHECK: [[@LINE+1]]:12: ObjCInterfaceDecl=Test7
40@interface Test7 @end
41#else
42// CHECK-NOT: [[@LINE+1]]:12:
43@interface Test8 @end
44#endif
45
46#if defined(SOMETHING_NOT_DEFINED)
47// CHECK: [[@LINE+1]]:12: ObjCInterfaceDecl=Test9
48@interface Test9 @end
49#else
50// CHECK: [[@LINE+1]]:12: ObjCInterfaceDecl=Test10
51@interface Test10 @end
52#endif
53
54#if defined(SOMETHING_DEFINED)
55// CHECK: [[@LINE+1]]:12: ObjCInterfaceDecl=Test11
56@interface Test11 @end
57#else
58// CHECK-NOT: [[@LINE+1]]:12:
59@interface Test12 @end
60#endif
61
62#if SOMETHING_NOT_DEFINED1
63// CHECK: [[@LINE+1]]:12: ObjCInterfaceDecl=Test13
64@interface Test13 @end
65#elif SOMETHING_NOT_DEFINED2
66// CHECK: [[@LINE+1]]:12: ObjCInterfaceDecl=Test14
67@interface Test14 @end
68#else
69// CHECK: [[@LINE+1]]:12: ObjCInterfaceDecl=Test15
70@interface Test15 @end
71#endif
72
73#ifdef SOMETHING_NOT_DEFINED
74// CHECK: [[@LINE+1]]:12: ObjCInterfaceDecl=Test19
75@interface Test19 @end
76#else
77// CHECK: [[@LINE+1]]:12: ObjCInterfaceDecl=Test20
78@interface Test20 @end
79#endif
80
81#ifdef SOMETHING_DEFINED
82// CHECK: [[@LINE+1]]:12: ObjCInterfaceDecl=Test21
83@interface Test21 @end
84#else
85// CHECK-NOT: [[@LINE+1]]:12:
86@interface Test22 @end
87#endif
88
89#ifndef SOMETHING_NOT_DEFINED
90// CHECK: [[@LINE+1]]:12: ObjCInterfaceDecl=Test23
91@interface Test23 @end
92#else
93// CHECK: [[@LINE+1]]:12: ObjCInterfaceDecl=Test24
94@interface Test24 @end
95#endif
96
97#ifndef SOMETHING_DEFINED
98// CHECK-NOT: [[@LINE+1]]:12:
99@interface Test25 @end
100#else
101// CHECK: [[@LINE+1]]:12: ObjCInterfaceDecl=Test26
102@interface Test26 @end
103#endif
104
105#if 1 < SOMETHING_NOT_DEFINED
106// CHECK: [[@LINE+1]]:12: ObjCInterfaceDecl=Test27
107@interface Test27 @end
108#else
109// CHECK: [[@LINE+1]]:12: ObjCInterfaceDecl=Test28
110@interface Test28 @end
111#endif
112
113#if SOMETHING_NOT_DEFINED
114// CHECK: [[@LINE+1]]:12: ObjCInterfaceDecl=Test29
115@interface Test29 @end
116#endif
117
118#ifdef SOMETHING_NOT_DEFINED
119// CHECK: [[@LINE+1]]:12: ObjCInterfaceDecl=Test30
120@interface Test30 @end
121#endif
122