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