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 8namespace foo {} // no external storage 9 10#elif !defined(PASS2) 11#define PASS2 12 13namespace foo { 14 void bar(); 15} 16 17#else 18// PASS3 19 20void test() { 21 foo::bar(); // no-error 22} 23 24#endif 25