Home | History | Annotate | Download | only in Index
      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