1 // no PCH
2 // RUN: %clang_cc1 -include %s -include %s -fsyntax-only %s
3 // full PCH
4 // RUN: %clang_cc1 -chain-include %s -chain-include %s -fsyntax-only %s
5 #if !defined(PASS1)
6 #define PASS1
7 
8 namespace foo {} // no external storage
9 
10 #elif !defined(PASS2)
11 #define PASS2
12 
13 namespace foo {
14   void bar();
15 }
16 
17 #else
18 // PASS3
19 
test()20 void test() {
21   foo::bar(); // no-error
22 }
23 
24 #endif
25