48 lines · c
1// RUN: c-index-test core -print-source-symbols -- %s | FileCheck %s2// RUN: c-index-test core -print-source-symbols -ignore-macros -- %s | FileCheck %s -check-prefix=DISABLED3// DISABLED-NOT: macro/C4// DISABLED-NOT: XI5 6// CHECK: [[@LINE+1]]:9 | macro/C | X1 | [[X1_USR:.*@macro@X1]] | Def |7#define X1 18// CHECK: [[@LINE+1]]:9 | macro/C | DEF | [[DEF_USR:.*@macro@DEF]] | Def |9#define DEF(x) int x10// CHECK: [[@LINE+1]]:8 | macro/C | X1 | [[X1_USR]] | Undef |11#undef X112 13// CHECK: [[@LINE+1]]:9 | macro/C | C | [[C_USR:.*@macro@C]] | Def |14#define C 115// CHECK: [[@LINE+1]]:5 | macro/C | C | [[C_USR]] | Ref |16#if C17#endif18// CHECK: [[@LINE+1]]:8 | macro/C | C | [[C_USR]] | Ref |19#ifdef C20#endif21// CHECK: [[@LINE+1]]:9 | macro/C | C | [[C_USR]] | Ref |22#ifndef C23#endif24// CHECK: [[@LINE+1]]:13 | macro/C | C | [[C_USR]] | Ref |25#if defined(C)26#endif27// CHECK: [[@LINE+1]]:14 | macro/C | C | [[C_USR]] | Ref |28#if !defined(C)29#endif30 31// Nonexistent macros should not be included.32// CHECK-NOT: NOT_DEFINED33#ifdef NOT_DEFINED34#endif35#ifndef NOT_DEFINED36#endif37#if defined(NOT_DEFINED) && NOT_DEFINED38#elif !defined(NOT_DEFINED)39#endif40 41// CHECK: [[@LINE+1]]:5 | macro/C | __LINE__ | c:@macro@__LINE__ | Ref |42#if __LINE__ == 4143#endif44 45// CHECK: [[@LINE+2]]:1 | macro/C | DEF | [[DEF_USR]] | Ref |46// CHECK: [[@LINE+1]]:5 | variable/C | i | c:@i | {{.*}} | Def | rel: 047DEF(i);48