xref: /llvm-project/clang/test/Index/pch-with-errors.m (revision acfbbd77f80c012707c6ed5ebe1a5be35778c41d)
1b15def22SArgyrios Kyrtzidis#ifndef HEADER
2b15def22SArgyrios Kyrtzidis#define HEADER
3b15def22SArgyrios Kyrtzidis
4b15def22SArgyrios Kyrtzidis@interface I(cat)
5b15def22SArgyrios Kyrtzidis-(void)meth;
6b15def22SArgyrios Kyrtzidis@end
7b15def22SArgyrios Kyrtzidis
8b15def22SArgyrios Kyrtzidis@interface I2
9b15def22SArgyrios Kyrtzidis-(void)meth;
10b15def22SArgyrios Kyrtzidis@end
11b15def22SArgyrios Kyrtzidis
12*acfbbd77SArgyrios Kyrtzidisstruct FFF1
13*acfbbd77SArgyrios Kyrtzidisextern I2 *somevar1;
14*acfbbd77SArgyrios Kyrtzidis
15*acfbbd77SArgyrios Kyrtzidisenum FFF2
16*acfbbd77SArgyrios Kyrtzidisextern I2 *somevar2;
17*acfbbd77SArgyrios Kyrtzidis
18b15def22SArgyrios Kyrtzidis#else
19b15def22SArgyrios Kyrtzidis
20b15def22SArgyrios Kyrtzidisvoid foo(I2 *i) {
21b15def22SArgyrios Kyrtzidis  [i meth];
22b15def22SArgyrios Kyrtzidis}
23b15def22SArgyrios Kyrtzidis
24b15def22SArgyrios Kyrtzidis#endif
25b15def22SArgyrios Kyrtzidis
26b15def22SArgyrios Kyrtzidis// RUN: c-index-test -write-pch %t.h.pch %s -Xclang -detailed-preprocessing-record
27b15def22SArgyrios Kyrtzidis// RUN: c-index-test -test-load-source local %s -include %t.h -Xclang -detailed-preprocessing-record | FileCheck -check-prefix=CHECK-PARSE %s
28b15def22SArgyrios Kyrtzidis// RUN: c-index-test -index-file %s -include %t.h -Xclang -detailed-preprocessing-record | FileCheck -check-prefix=CHECK-INDEX %s
29b15def22SArgyrios Kyrtzidis
30b15def22SArgyrios Kyrtzidis// CHECK-PARSE: pch-with-errors.m:{{.*}} FunctionDecl=foo
31b15def22SArgyrios Kyrtzidis// CHECK-PARSE: pch-with-errors.m:{{.*}} ObjCMessageExpr=meth
32b15def22SArgyrios Kyrtzidis
33b15def22SArgyrios Kyrtzidis// CHECK-INDEX: [indexDeclaration]: kind: function | name: foo
34b15def22SArgyrios Kyrtzidis// CHECK-INDEX: [indexEntityReference]: kind: objc-instance-method | name: meth
35