18c97195cSEric Liu // RUN: c-index-test core -print-source-symbols -- %s | FileCheck %s 2*93c87fc0SBen Langmuir // RUN: c-index-test core -print-source-symbols -ignore-macros -- %s | FileCheck %s -check-prefix=DISABLED 3*93c87fc0SBen Langmuir // DISABLED-NOT: macro/C 4*93c87fc0SBen Langmuir // DISABLED-NOT: XI 58c97195cSEric Liu 6*93c87fc0SBen Langmuir // CHECK: [[@LINE+1]]:9 | macro/C | X1 | [[X1_USR:.*@macro@X1]] | Def | 78c97195cSEric Liu #define X1 1 8*93c87fc0SBen Langmuir // CHECK: [[@LINE+1]]:9 | macro/C | DEF | [[DEF_USR:.*@macro@DEF]] | Def | 98c97195cSEric Liu #define DEF(x) int x 10*93c87fc0SBen Langmuir // CHECK: [[@LINE+1]]:8 | macro/C | X1 | [[X1_USR]] | Undef | 118c97195cSEric Liu #undef X1 128c97195cSEric Liu 13*93c87fc0SBen Langmuir // CHECK: [[@LINE+1]]:9 | macro/C | C | [[C_USR:.*@macro@C]] | Def | 14*93c87fc0SBen Langmuir #define C 1 15*93c87fc0SBen Langmuir // CHECK: [[@LINE+1]]:5 | macro/C | C | [[C_USR]] | Ref | 16*93c87fc0SBen Langmuir #if C 17*93c87fc0SBen Langmuir #endif 18*93c87fc0SBen Langmuir // CHECK: [[@LINE+1]]:8 | macro/C | C | [[C_USR]] | Ref | 19*93c87fc0SBen Langmuir #ifdef C 20*93c87fc0SBen Langmuir #endif 21*93c87fc0SBen Langmuir // CHECK: [[@LINE+1]]:9 | macro/C | C | [[C_USR]] | Ref | 22*93c87fc0SBen Langmuir #ifndef C 23*93c87fc0SBen Langmuir #endif 24*93c87fc0SBen Langmuir // CHECK: [[@LINE+1]]:13 | macro/C | C | [[C_USR]] | Ref | 25*93c87fc0SBen Langmuir #if defined(C) 26*93c87fc0SBen Langmuir #endif 27*93c87fc0SBen Langmuir // CHECK: [[@LINE+1]]:14 | macro/C | C | [[C_USR]] | Ref | 28*93c87fc0SBen Langmuir #if !defined(C) 29*93c87fc0SBen Langmuir #endif 30*93c87fc0SBen Langmuir 31*93c87fc0SBen Langmuir // Nonexistent macros should not be included. 32*93c87fc0SBen Langmuir // CHECK-NOT: NOT_DEFINED 33*93c87fc0SBen Langmuir #ifdef NOT_DEFINED 34*93c87fc0SBen Langmuir #endif 35*93c87fc0SBen Langmuir #ifndef NOT_DEFINED 36*93c87fc0SBen Langmuir #endif 37*93c87fc0SBen Langmuir #if defined(NOT_DEFINED) && NOT_DEFINED 38*93c87fc0SBen Langmuir #elif !defined(NOT_DEFINED) 39*93c87fc0SBen Langmuir #endif 40*93c87fc0SBen Langmuir 41*93c87fc0SBen Langmuir // CHECK: [[@LINE+1]]:5 | macro/C | __LINE__ | c:@macro@__LINE__ | Ref | 42*93c87fc0SBen Langmuir #if __LINE__ == 41 43*93c87fc0SBen Langmuir #endif 44*93c87fc0SBen Langmuir 45*93c87fc0SBen Langmuir // CHECK: [[@LINE+2]]:1 | macro/C | DEF | [[DEF_USR]] | Ref | 4616958bb6SEric Liu // CHECK: [[@LINE+1]]:5 | variable/C | i | c:@i | {{.*}} | Def | rel: 0 478c97195cSEric Liu DEF(i); 48