aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorArgyrios Kyrtzidis <akyrtzi@gmail.com>2010-07-02 11:55:48 +0000
committerArgyrios Kyrtzidis <akyrtzi@gmail.com>2010-07-02 11:55:48 +0000
commit5a7b9c552c446d568e32a55f57e2b10ef00215ec (patch)
tree52998634dfebb0a1df197a4c960645bf42abf789
parent04aed0edee1fe0bad807afb69f484c5e807800af (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.h35
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);
+};
+