1*67e74705SXin Li// The line and column layout of this test is significant. Run lines 2*67e74705SXin Li// are at the end. 3*67e74705SXin Li 4*67e74705SXin Li#if 1 5*67e74705SXin Li#endif 6*67e74705SXin Li 7*67e74705SXin Li#define FOO(a, b) a##b 8*67e74705SXin Li#define BAR 9*67e74705SXin Li#ifdef FOO 10*67e74705SXin Li#endif 11*67e74705SXin Li#if defined(FOO) 12*67e74705SXin Li#endif 13*67e74705SXin Li 14*67e74705SXin LiFOO(in,t) value; 15*67e74705SXin Li 16*67e74705SXin Li// RUN: c-index-test -code-completion-at=%s:4:2 %s | FileCheck -check-prefix=CHECK-CC1 %s 17*67e74705SXin Li// CHECK-CC1: NotImplemented:{TypedText define}{HorizontalSpace }{Placeholder macro} (40) 18*67e74705SXin Li// CHECK-CC1-NEXT: NotImplemented:{TypedText define}{HorizontalSpace }{Placeholder macro}{LeftParen (}{Placeholder args}{RightParen )} (40) 19*67e74705SXin Li// CHECK-CC1-NEXT: NotImplemented:{TypedText error}{HorizontalSpace }{Placeholder message} (40) 20*67e74705SXin Li// CHECK-CC1-NEXT: NotImplemented:{TypedText if}{HorizontalSpace }{Placeholder condition} (40) 21*67e74705SXin Li// CHECK-CC1-NEXT: NotImplemented:{TypedText ifdef}{HorizontalSpace }{Placeholder macro} (40) 22*67e74705SXin Li// CHECK-CC1-NEXT: NotImplemented:{TypedText ifndef}{HorizontalSpace }{Placeholder macro} (40) 23*67e74705SXin Li// CHECK-CC1-NEXT: NotImplemented:{TypedText import}{HorizontalSpace }{Text "}{Placeholder header}{Text "} (40) 24*67e74705SXin Li// CHECK-CC1-NEXT: NotImplemented:{TypedText import}{HorizontalSpace }{Text <}{Placeholder header}{Text >} (40) 25*67e74705SXin Li// CHECK-CC1-NEXT: NotImplemented:{TypedText include}{HorizontalSpace }{Text "}{Placeholder header}{Text "} (40) 26*67e74705SXin Li// CHECK-CC1-NEXT: NotImplemented:{TypedText include}{HorizontalSpace }{Text <}{Placeholder header}{Text >} (40) 27*67e74705SXin Li// CHECK-CC1-NEXT: NotImplemented:{TypedText include_next}{HorizontalSpace }{Text "}{Placeholder header}{Text "} (40) 28*67e74705SXin Li// CHECK-CC1-NEXT: NotImplemented:{TypedText include_next}{HorizontalSpace }{Text <}{Placeholder header}{Text >} (40) 29*67e74705SXin Li// CHECK-CC1-NEXT: NotImplemented:{TypedText line}{HorizontalSpace }{Placeholder number} (40) 30*67e74705SXin Li// CHECK-CC1-NEXT: NotImplemented:{TypedText line}{HorizontalSpace }{Placeholder number}{HorizontalSpace }{Text "}{Placeholder filename}{Text "} (40) 31*67e74705SXin Li// CHECK-CC1-NEXT: NotImplemented:{TypedText pragma}{HorizontalSpace }{Placeholder arguments} (40) 32*67e74705SXin Li// CHECK-CC1-NEXT: NotImplemented:{TypedText undef}{HorizontalSpace }{Placeholder macro} (40) 33*67e74705SXin Li// CHECK-CC1-NEXT: NotImplemented:{TypedText warning}{HorizontalSpace }{Placeholder message} (40) 34*67e74705SXin Li// RUN: c-index-test -code-completion-at=%s:5:2 %s | FileCheck -check-prefix=CHECK-CC2 %s 35*67e74705SXin Li// CHECK-CC2: NotImplemented:{TypedText define}{HorizontalSpace }{Placeholder macro} (40) 36*67e74705SXin Li// CHECK-CC2-NEXT: NotImplemented:{TypedText define}{HorizontalSpace }{Placeholder macro}{LeftParen (}{Placeholder args}{RightParen )} (40) 37*67e74705SXin Li// CHECK-CC2-NEXT: NotImplemented:{TypedText elif}{HorizontalSpace }{Placeholder condition} (40) 38*67e74705SXin Li// CHECK-CC2-NEXT: NotImplemented:{TypedText else} (40) 39*67e74705SXin Li// CHECK-CC2-NEXT: NotImplemented:{TypedText endif} (40) 40*67e74705SXin Li// CHECK-CC2-NEXT: NotImplemented:{TypedText error}{HorizontalSpace }{Placeholder message} (40) 41*67e74705SXin Li// CHECK-CC2-NEXT: NotImplemented:{TypedText if}{HorizontalSpace }{Placeholder condition} (40) 42*67e74705SXin Li// CHECK-CC2-NEXT: NotImplemented:{TypedText ifdef}{HorizontalSpace }{Placeholder macro} (40) 43*67e74705SXin Li// CHECK-CC2-NEXT: NotImplemented:{TypedText ifndef}{HorizontalSpace }{Placeholder macro} (40) 44*67e74705SXin Li// CHECK-CC2-NEXT: NotImplemented:{TypedText import}{HorizontalSpace }{Text "}{Placeholder header}{Text "} (40) 45*67e74705SXin Li// CHECK-CC2-NEXT: NotImplemented:{TypedText import}{HorizontalSpace }{Text <}{Placeholder header}{Text >} (40) 46*67e74705SXin Li// CHECK-CC2-NEXT: NotImplemented:{TypedText include}{HorizontalSpace }{Text "}{Placeholder header}{Text "} (40) 47*67e74705SXin Li// CHECK-CC2-NEXT: NotImplemented:{TypedText include}{HorizontalSpace }{Text <}{Placeholder header}{Text >} (40) 48*67e74705SXin Li// CHECK-CC2-NEXT: NotImplemented:{TypedText include_next}{HorizontalSpace }{Text "}{Placeholder header}{Text "} (40) 49*67e74705SXin Li// CHECK-CC2-NEXT: NotImplemented:{TypedText include_next}{HorizontalSpace }{Text <}{Placeholder header}{Text >} (40) 50*67e74705SXin Li// CHECK-CC2-NEXT: NotImplemented:{TypedText line}{HorizontalSpace }{Placeholder number} (40) 51*67e74705SXin Li// CHECK-CC2-NEXT: NotImplemented:{TypedText line}{HorizontalSpace }{Placeholder number}{HorizontalSpace }{Text "}{Placeholder filename}{Text "} (40) 52*67e74705SXin Li// CHECK-CC2-NEXT: NotImplemented:{TypedText pragma}{HorizontalSpace }{Placeholder arguments} (40) 53*67e74705SXin Li// CHECK-CC2-NEXT: NotImplemented:{TypedText undef}{HorizontalSpace }{Placeholder macro} (40) 54*67e74705SXin Li// CHECK-CC2-NEXT: NotImplemented:{TypedText warning}{HorizontalSpace }{Placeholder message} (40) 55*67e74705SXin Li// RUN: c-index-test -code-completion-at=%s:9:8 %s | FileCheck -check-prefix=CHECK-CC3 %s 56*67e74705SXin Li// CHECK-CC3: macro definition:{TypedText BAR} (40) 57*67e74705SXin Li// CHECK-CC3: macro definition:{TypedText FOO} (40) 58*67e74705SXin Li// RUN: c-index-test -code-completion-at=%s:11:12 %s | FileCheck -check-prefix=CHECK-CC3 %s 59*67e74705SXin Li// RUN: c-index-test -code-completion-at=%s:11:13 %s | FileCheck -check-prefix=CHECK-CC3 %s 60*67e74705SXin Li// RUN: c-index-test -code-completion-at=%s:11:5 %s | FileCheck -check-prefix=CHECK-CC4 %s 61*67e74705SXin Li// CHECK-CC4: macro definition:{TypedText BAR} (70) 62*67e74705SXin Li// CHECK-CC4: macro definition:{TypedText FOO}{LeftParen (}{Placeholder a}{Comma , }{Placeholder b}{RightParen )} (70) 63*67e74705SXin Li// RUN: c-index-test -code-completion-at=%s:14:5 %s | FileCheck -check-prefix=CHECK-CC5 %s 64*67e74705SXin Li// CHECK-CC5: NotImplemented:{TypedText const} (50) 65*67e74705SXin Li// CHECK-CC5: NotImplemented:{TypedText double} (50) 66*67e74705SXin Li// CHECK-CC5: NotImplemented:{TypedText enum} (50) 67*67e74705SXin Li// CHECK-CC5: NotImplemented:{TypedText extern} (40) 68*67e74705SXin Li// CHECK-CC5: NotImplemented:{TypedText float} (50) 69*67e74705SXin Li// CHECK-CC5: macro definition:{TypedText FOO}{LeftParen (}{Placeholder a}{Comma , }{Placeholder b}{RightParen )} (70) 70*67e74705SXin Li// CHECK-CC5: TypedefDecl:{TypedText id} (50) 71*67e74705SXin Li// CHECK-CC5: NotImplemented:{TypedText inline} (40) 72*67e74705SXin Li// CHECK-CC5: NotImplemented:{TypedText int} (50) 73*67e74705SXin Li// CHECK-CC5: NotImplemented:{TypedText long} (50) 74*67e74705SXin Li 75*67e74705SXin Li// Same tests as above, but with completion caching. 76*67e74705SXin Li// RUN: env CINDEXTEST_EDITING=1 CINDEXTEST_COMPLETION_CACHING=1 c-index-test -code-completion-at=%s:4:2 %s | FileCheck -check-prefix=CHECK-CC1 %s 77*67e74705SXin Li// RUN: env CINDEXTEST_EDITING=1 CINDEXTEST_COMPLETION_CACHING=1 c-index-test -code-completion-at=%s:5:2 %s | FileCheck -check-prefix=CHECK-CC2 %s 78*67e74705SXin Li// RUN: env CINDEXTEST_EDITING=1 CINDEXTEST_COMPLETION_CACHING=1 c-index-test -code-completion-at=%s:9:8 %s | FileCheck -check-prefix=CHECK-CC3 %s 79*67e74705SXin Li// RUN: env CINDEXTEST_EDITING=1 CINDEXTEST_COMPLETION_CACHING=1 c-index-test -code-completion-at=%s:11:5 %s | FileCheck -check-prefix=CHECK-CC4 %s 80*67e74705SXin Li// RUN: env CINDEXTEST_EDITING=1 CINDEXTEST_COMPLETION_CACHING=1 c-index-test -code-completion-at=%s:14:5 %s | FileCheck -check-prefix=CHECK-CC5 %s 81