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