// Header for PCH test cxx-templates.cpp template struct S; template struct S { S() { } static void templ(); }; template struct S { static void partial(); }; template <> struct S { static void explicit_special(); }; template int tmpl_f2() { return x; } template T templ_f(T x) { int z = templ_f(3); z = tmpl_f2(); T data[y]; return x+y; } void govl(int); void govl(char); template struct Unresolv { void f() { govl(T()); } }; template struct Dep { typedef typename T::type Ty; void f() { Ty x = Ty(); T::my_f(); int y = T::template my_templf(0); ovl(y); } void ovl(int); void ovl(float); }; template inline T make_a(const A1& a1) { T::depend_declref(); return T(a1); } template class UseBase { void foo(); typedef int bar; }; template class UseA : public UseBase { using UseBase::foo; using typename UseBase::bar; }; template class Sub : public UseBase { }; template class mem_fun_t { public: explicit mem_fun_t(_Ret (_Tp::*__pf)()) {} private: _Ret (_Tp::*_M_f)(); }; template bool isInt(int x); template<> bool isInt<8>(int x) { return true; } template int __copy_streambufs_eof(_CharT); class basic_streambuf { void m() { } friend int __copy_streambufs_eof<>(int); };