// RUN: clang-cc -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<typename T, typename Result>
struct X0 {
  void test_f0(T t) {
    Result r = f0(t);
  };
};

void test_f0() {
  X0<N::A, int&> xA;
  xA.test_f0(N::A());
  X0<N::B, int&> xB;
  xB.test_f0(N::B());
}

namespace N {
  char& f0(B&);
}

Add a test illustrating our current inability to properly cope with the point of instantation of a member function of a class template specialization
Add a test illustrating our current inability to properly cope with the point of instantation of a member function of a class template specialization

git-svn-id: ffe668792ed300d6c2daa1f6eba2e0aa28d7ec6c@73956 91177308-0d34-0410-b5e6-96231b3b80d8
