xref: /aosp_15_r20/external/clang/test/Index/complete-preprocessor.m (revision 67e74705e28f6214e480b399dd47ea732279e315)
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