// RUN: %clang_cc1 -fsyntax-only -verify %s // XFAIL: * // Note: we fail this test because we perform template instantiation // at the end of the translation unit, so argument-dependent lookup // finds functions that occur after the point of instantiation. Note // that GCC fails this test; EDG passes the test in strict mode, but // not in relaxed mode. namespace N { struct A { }; struct B : public A { }; int& f0(A&); } template struct X0 { void test_f0(T t) { Result r = f0(t); }; }; void test_f0() { X0 xA; xA.test_f0(N::A()); X0 xB; xB.test_f0(N::B()); } namespace N { char& f0(B&); }