summaryrefslogtreecommitdiffstats
path: root/test/PCH/chain-cxx.cpp
diff options
context:
space:
mode:
authorArgyrios Kyrtzidis <akyrtzi@gmail.com>2010-10-20 00:11:15 +0000
committerArgyrios Kyrtzidis <akyrtzi@gmail.com>2010-10-20 00:11:15 +0000
commit9703b0dd353b928b2312076f13e30950e05d5fa1 (patch)
tree1fe5d495b80664dda735d670df43c49e9c52a238 /test/PCH/chain-cxx.cpp
parentec3683b3f33beda2449b4896b1a9548ab283e0e7 (diff)
Fix issue with chained PCH where forward references did not pick up later definition in the chained PCH.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@116887 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/PCH/chain-cxx.cpp')
-rw-r--r--test/PCH/chain-cxx.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/test/PCH/chain-cxx.cpp b/test/PCH/chain-cxx.cpp
index b2d0523410..d269de529f 100644
--- a/test/PCH/chain-cxx.cpp
+++ b/test/PCH/chain-cxx.cpp
@@ -31,6 +31,9 @@ struct S { typedef int G; };
template <typename T>
struct S<T *> { typedef int H; };
+template <typename T> struct TS2;
+typedef TS2<int> TS2int;
+
//===----------------------------------------------------------------------===//
#elif not defined(HEADER2)
#define HEADER2
@@ -68,6 +71,8 @@ struct S<int *> { typedef int K; };
template <>
struct S<int &> { typedef int L; };
+template <typename T> struct TS2 { };
+
//===----------------------------------------------------------------------===//
#else
//===----------------------------------------------------------------------===//
@@ -89,6 +94,8 @@ void test() {
typedef S<double &>::J T4;
typedef S<int *>::K T5;
typedef S<int &>::L T6;
+
+ TS2int ts2;
}
//===----------------------------------------------------------------------===//