1 #ifndef HEADER 2 #define HEADER 3 4 #include "blahblah.h" 5 void erroneous(int); 6 void erroneous(float); 7 8 struct bar; 9 struct zed { 10 bar g; 11 }; 12 struct baz { 13 zed h; 14 }; 15 16 void errparm(zed e); 17 18 struct S { 19 { 20 ; 21 22 #else 23 24 void foo(void) { 25 erroneous(0); 26 } 27 28 #endif 29 30 // RUN: c-index-test -write-pch %t.h.pch %s -Xclang -detailed-preprocessing-record 31 // RUN: c-index-test -test-load-source local %s -include %t.h -Xclang -detailed-preprocessing-record | FileCheck -check-prefix=CHECK-PARSE %s 32 // RUN: c-index-test -index-file %s -include %t.h -Xclang -detailed-preprocessing-record | FileCheck -check-prefix=CHECK-INDEX %s 33 34 // CHECK-PARSE: pch-with-errors.c:{{.*}}:6: FunctionDecl=foo 35 // CHECK-PARSE: pch-with-errors.c:{{.*}}:3: CallExpr=erroneous 36 37 // CHECK-INDEX: [indexDeclaration]: kind: function | name: foo 38 // CHECK-INDEX: [indexEntityReference]: kind: function | name: erroneous 39 40 // RUN: not %clang -fsyntax-only %s -include %t.h 2>&1 | FileCheck -check-prefix=PCH-ERR %s 41 // PCH-ERR: error: PCH file contains compiler errors 42 43 // RUN: not c-index-test -write-pch %t.pch foobar.c 2>&1 | FileCheck -check-prefix=NONEXISTENT %s 44 // NONEXISTENT: Unable to load translation unit 45