diff options
author | Argyrios Kyrtzidis <akyrtzi@gmail.com> | 2010-07-02 11:55:48 +0000 |
---|---|---|
committer | Argyrios Kyrtzidis <akyrtzi@gmail.com> | 2010-07-02 11:55:48 +0000 |
commit | 5a7b9c552c446d568e32a55f57e2b10ef00215ec (patch) | |
tree | 52998634dfebb0a1df197a4c960645bf42abf789 | |
parent | 04aed0edee1fe0bad807afb69f484c5e807800af (diff) |
Provide some test cases for C++ PCH.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@107479 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | test/PCH/cxx-templates.h | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/test/PCH/cxx-templates.h b/test/PCH/cxx-templates.h index b562f471f8..396853686f 100644 --- a/test/PCH/cxx-templates.h +++ b/test/PCH/cxx-templates.h @@ -1,7 +1,11 @@ // Header for PCH test cxx-templates.cpp template <typename T1, typename T2> +struct S; + +template <typename T1, typename T2> struct S { + S() { } static void templ(); }; @@ -65,3 +69,34 @@ template <class T> class UseA : public UseBase<T> { using UseBase<T>::foo; using typename UseBase<T>::bar; }; + +template <class T> class Sub : public UseBase<int> { }; + +template <class _Ret, class _Tp> + class mem_fun_t + { + public: + explicit + mem_fun_t(_Ret (_Tp::*__pf)()) + {} + + private: + _Ret (_Tp::*_M_f)(); + }; + +template<unsigned N> +bool isInt(int x); + +template<> bool isInt<8>(int x) { + return true; +} + +template<typename _CharT> +int __copy_streambufs_eof(_CharT); + +class basic_streambuf +{ + void m() { } + friend int __copy_streambufs_eof<>(int); +}; + |