// no PCH
// RUN: %clang_cc1 -include %s -include %s -fsyntax-only %s
// full PCH
// RUN: %clang_cc1 -chain-include %s -chain-include %s -fsyntax-only %s
#if !defined(PASS1)
#define PASS1
namespace foo {} // no external storage
#elif !defined(PASS2)
#define PASS2
namespace foo {
void bar();
}
#else
// PASS3
void test() {
foo::bar(); // no-error
}
#endif