1*2810e9deSArgyrios Kyrtzidis 2*2810e9deSArgyrios Kyrtzidis // <rdar://12889089> 3*2810e9deSArgyrios Kyrtzidis 4*2810e9deSArgyrios Kyrtzidis #ifndef HEADER1 5*2810e9deSArgyrios Kyrtzidis #define HEADER1 6*2810e9deSArgyrios Kyrtzidis 7*2810e9deSArgyrios Kyrtzidis // CHECK-TU: FunctionDecl:{ResultType void}{TypedText foo} 8*2810e9deSArgyrios Kyrtzidis void foo(); 9*2810e9deSArgyrios Kyrtzidis 10*2810e9deSArgyrios Kyrtzidis namespace Cake { 11*2810e9deSArgyrios Kyrtzidis // CHECK-NAMESPACE: FunctionDecl:{ResultType void}{TypedText lie} 12*2810e9deSArgyrios Kyrtzidis void lie(); 13*2810e9deSArgyrios Kyrtzidis } 14*2810e9deSArgyrios Kyrtzidis 15*2810e9deSArgyrios Kyrtzidis #elif !defined(HEADER2) 16*2810e9deSArgyrios Kyrtzidis #define HEADER2 17*2810e9deSArgyrios Kyrtzidis 18*2810e9deSArgyrios Kyrtzidis namespace Cake { 19*2810e9deSArgyrios Kyrtzidis extern int Baz; 20*2810e9deSArgyrios Kyrtzidis } 21*2810e9deSArgyrios Kyrtzidis 22*2810e9deSArgyrios Kyrtzidis #else 23*2810e9deSArgyrios Kyrtzidis func()24*2810e9deSArgyrios Kyrtzidisvoid func() { 25*2810e9deSArgyrios Kyrtzidis Cake:: 26*2810e9deSArgyrios Kyrtzidis } 27*2810e9deSArgyrios Kyrtzidis 28*2810e9deSArgyrios Kyrtzidis #endif 29*2810e9deSArgyrios Kyrtzidis 30*2810e9deSArgyrios Kyrtzidis // RUN: c-index-test -write-pch %t1.h.pch %s 31*2810e9deSArgyrios Kyrtzidis // RUN: c-index-test -write-pch %t2.h.pch %s -include %t1.h 32*2810e9deSArgyrios Kyrtzidis // RUN: c-index-test -code-completion-at=%s:25:1 %s -include %t2.h | FileCheck -check-prefix=CHECK-TU %s 33*2810e9deSArgyrios Kyrtzidis // RUN: c-index-test -code-completion-at=%s:25:7 %s -include %t2.h | FileCheck -check-prefix=CHECK-NAMESPACE %s 34