1 // RUN: c-index-test -retain-excluded-conditional-blocks %s | FileCheck %s
3 // CHECK: [[@LINE+1]]:12: ObjCInterfaceDecl=MyCls
5 // CHECK: [[@LINE+1]]:8: ObjCInstanceMethodDecl=some_meth
10 // CHECK: [[@LINE+1]]:12: ObjCInterfaceDecl=Test1
13 // CHECK: [[@LINE+1]]:12:
18 // CHECK: [[@LINE+1]]:12:
21 // CHECK: [[@LINE+1]]:12: ObjCInterfaceDecl=Test4
25 #if SOMETHING_NOT_DEFINED
26 // CHECK: [[@LINE+1]]:12: ObjCInterfaceDecl=Test5
29 // CHECK: [[@LINE+1]]:12: ObjCInterfaceDecl=Test6
33 #define SOMETHING_DEFINED 1
35 // CHECK: [[@LINE+1]]:12: ObjCInterfaceDecl=Test7
38 // CHECK: [[@LINE+1]]:12:
42 #if defined(SOMETHING_NOT_DEFINED)
43 // CHECK: [[@LINE+1]]:12: ObjCInterfaceDecl=Test9
46 // CHECK: [[@LINE+1]]:12: ObjCInterfaceDecl=Test10
47 @interface Test10 @end
50 #if defined(SOMETHING_DEFINED)
51 // CHECK: [[@LINE+1]]:12: ObjCInterfaceDecl=Test11
52 @interface Test11 @end
54 // CHECK: [[@LINE+1]]:12:
55 @interface Test12 @end
58 #if SOMETHING_NOT_DEFINED1
59 // CHECK: [[@LINE+1]]:12: ObjCInterfaceDecl=Test13
60 @interface Test13 @end
61 #elif SOMETHING_NOT_DEFINED2
62 // CHECK: [[@LINE+1]]:12: ObjCInterfaceDecl=Test14
63 @interface Test14 @end
65 // CHECK: [[@LINE+1]]:12: ObjCInterfaceDecl=Test15
66 @interface Test15 @end
69 #ifdef SOMETHING_NOT_DEFINED
70 // CHECK: [[@LINE+1]]:12: ObjCInterfaceDecl=Test19
71 @interface Test19 @end
73 // CHECK: [[@LINE+1]]:12: ObjCInterfaceDecl=Test20
74 @interface Test20 @end
77 #ifdef SOMETHING_DEFINED
78 // CHECK: [[@LINE+1]]:12: ObjCInterfaceDecl=Test21
79 @interface Test21 @end
81 // CHECK: [[@LINE+1]]:12:
82 @interface Test22 @end
85 #ifndef SOMETHING_NOT_DEFINED
86 // CHECK: [[@LINE+1]]:12: ObjCInterfaceDecl=Test23
87 @interface Test23 @end
89 // CHECK: [[@LINE+1]]:12: ObjCInterfaceDecl=Test24
90 @interface Test24 @end
93 #ifndef SOMETHING_DEFINED
94 // CHECK: [[@LINE+1]]:12:
95 @interface Test25 @end
97 // CHECK: [[@LINE+1]]:12: ObjCInterfaceDecl=Test26
98 @interface Test26 @end
101 #if 1 < SOMETHING_NOT_DEFINED
102 // CHECK: [[@LINE+1]]:12: ObjCInterfaceDecl=Test27
103 @interface Test27 @end
105 // CHECK: [[@LINE+1]]:12: ObjCInterfaceDecl=Test28
106 @interface Test28 @end
109 #if SOMETHING_NOT_DEFINED
110 // CHECK: [[@LINE+1]]:12: ObjCInterfaceDecl=Test29
111 @interface Test29 @end
114 #ifdef SOMETHING_NOT_DEFINED
115 // CHECK: [[@LINE+1]]:12: ObjCInterfaceDecl=Test30
116 @interface Test30 @end
119 #ifdef SOMETHING_DEFINED
120 // CHECK: [[@LINE+1]]:12: ObjCInterfaceDecl=Test31
121 @interface Test31 @end
122 #elif !defined(SOMETHING_NOT_DEFINED)
123 // CHECK: [[@LINE+1]]:12: ObjCInterfaceDecl=Test32
124 @interface Test32 @end
126 // CHECK: [[@LINE+1]]:12: ObjCInterfaceDecl=Test33
127 @interface Test33 @end