Compiler projects using llvm
// RUN: %clang_cc1 -fsyntax-only -verify %s
// expected-no-diagnostics

// Ensure that when enforcing access control an unqualified template name with
// explicit template arguments, we don't lose the context of the name lookup
// because of the required early lookup to determine if it names a template.
namespace PR7163 {
  template <typename R, typename P> void h(R (*func)(P)) {}
  class C {
    template <typename T> static void g(T*) {};
   public:
    void f() { h(g<int>); }
  };
}