xref: /aosp_15_r20/external/clang/test/Index/targeted-file-refs.c (revision 67e74705e28f6214e480b399dd47ea732279e315)
1*67e74705SXin Li 
2*67e74705SXin Li #include "targeted-top.h"
3*67e74705SXin Li #include "targeted-preamble.h"
4*67e74705SXin Li 
5*67e74705SXin Li extern int LocalVar;
6*67e74705SXin Li int LocalVar;
7*67e74705SXin Li 
8*67e74705SXin Li // RUN: c-index-test -write-pch %t.h.pch %S/targeted-top.h -Xclang -detailed-preprocessing-record
9*67e74705SXin Li // RUN: env CINDEXTEST_FAILONERROR=1 c-index-test -file-refs-at=%s:5:17 %s -include %t.h \
10*67e74705SXin Li // RUN:    -Xclang -error-on-deserialized-decl=NestedVar1  \
11*67e74705SXin Li // RUN:    -Xclang -error-on-deserialized-decl=TopVar  \
12*67e74705SXin Li // RUN:  | FileCheck %s -check-prefix=LOCAL
13*67e74705SXin Li 
14*67e74705SXin Li // RUN: env CINDEXTEST_FAILONERROR=1 CINDEXTEST_EDITING=1 CINDEXTEST_COMPLETION_NO_CACHING=1 \
15*67e74705SXin Li // RUN:   c-index-test -file-refs-at=%s:5:17 %s -include %t.h \
16*67e74705SXin Li // RUN:    -Xclang -error-on-deserialized-decl=PreambleVar  \
17*67e74705SXin Li // RUN:    -Xclang -error-on-deserialized-decl=NestedVar1  \
18*67e74705SXin Li // RUN:    -Xclang -error-on-deserialized-decl=TopVar  \
19*67e74705SXin Li // RUN:  | FileCheck %s -check-prefix=LOCAL
20*67e74705SXin Li 
21*67e74705SXin Li // LOCAL: VarDecl=LocalVar:5:12
22*67e74705SXin Li // LOCAL: VarDecl=LocalVar:5:12 =[5:12 - 5:20]
23*67e74705SXin Li // LOCAL: VarDecl=LocalVar:6:5 =[6:5 - 6:13]
24*67e74705SXin Li 
25*67e74705SXin Li // RUN: env CINDEXTEST_FAILONERROR=1 c-index-test -file-refs-at=%S/targeted-top.h:14:7 %s -include %t.h \
26*67e74705SXin Li // RUN:    -Xclang -error-on-deserialized-decl=NestedVar1  \
27*67e74705SXin Li // RUN:  | FileCheck %s -check-prefix=TOP
28*67e74705SXin Li 
29*67e74705SXin Li // RUN: env CINDEXTEST_FAILONERROR=1 CINDEXTEST_EDITING=1 CINDEXTEST_COMPLETION_NO_CACHING=1 \
30*67e74705SXin Li // RUN:   c-index-test -file-refs-at=%S/targeted-top.h:14:7 %s -include %t.h \
31*67e74705SXin Li // RUN:    -Xclang -error-on-deserialized-decl=PreambleVar  \
32*67e74705SXin Li // RUN:    -Xclang -error-on-deserialized-decl=NestedVar1  \
33*67e74705SXin Li // RUN:  | FileCheck %s -check-prefix=TOP
34*67e74705SXin Li 
35*67e74705SXin Li // TOP: FieldDecl=x:14:7 (Definition)
36*67e74705SXin Li // TOP: FieldDecl=x:14:7 (Definition) =[14:7 - 14:8]
37*67e74705SXin Li // TOP: MemberRefExpr=x:14:7 SingleRefName=[20:13 - 20:14] RefName=[20:13 - 20:14] =[20:13 - 20:14]
38*67e74705SXin Li 
39*67e74705SXin Li // RUN: env CINDEXTEST_FAILONERROR=1 c-index-test -file-refs-at=%S/targeted-nested1.h:2:16 %s -include %t.h \
40*67e74705SXin Li // RUN:    -Xclang -error-on-deserialized-decl=TopVar  \
41*67e74705SXin Li // RUN:  | FileCheck %s -check-prefix=NESTED
42*67e74705SXin Li 
43*67e74705SXin Li // RUN: env CINDEXTEST_FAILONERROR=1 CINDEXTEST_EDITING=1 CINDEXTEST_COMPLETION_NO_CACHING=1 \
44*67e74705SXin Li // RUN:   c-index-test -file-refs-at=%S/targeted-nested1.h:2:16 %s -include %t.h \
45*67e74705SXin Li // RUN:    -Xclang -error-on-deserialized-decl=PreambleVar  \
46*67e74705SXin Li // RUN:    -Xclang -error-on-deserialized-decl=TopVar  \
47*67e74705SXin Li // RUN:  | FileCheck %s -check-prefix=NESTED
48*67e74705SXin Li 
49*67e74705SXin Li // NESTED: VarDecl=NestedVar1:2:12
50*67e74705SXin Li // NESTED: VarDecl=NestedVar1:2:12 =[2:12 - 2:22]
51*67e74705SXin Li 
52*67e74705SXin Li // RUN: env CINDEXTEST_FAILONERROR=1 CINDEXTEST_EDITING=1 CINDEXTEST_COMPLETION_NO_CACHING=1 \
53*67e74705SXin Li // RUN:   c-index-test -file-refs-at=%S/targeted-preamble.h:2:15 %s -include %t.h \
54*67e74705SXin Li // RUN:    -Xclang -error-on-deserialized-decl=NestedVar1  \
55*67e74705SXin Li // RUN:    -Xclang -error-on-deserialized-decl=TopVar  \
56*67e74705SXin Li // RUN:  | FileCheck %s -check-prefix=PREAMBLE
57*67e74705SXin Li 
58*67e74705SXin Li // PREAMBLE: VarDecl=PreambleVar:2:12
59*67e74705SXin Li // PREAMBLE: VarDecl=PreambleVar:2:12 =[2:12 - 2:23]
60