When deserializing CXXBaseSpecifiers (and offsets), make sure to walk the chain in the correct order.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@127315 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/test/PCH/chain-cxx.cpp b/test/PCH/chain-cxx.cpp
index 852af05..bf37acb 100644
--- a/test/PCH/chain-cxx.cpp
+++ b/test/PCH/chain-cxx.cpp
@@ -34,6 +34,9 @@
 template <typename T> struct TS2;
 typedef TS2<int> TS2int;
 
+template <typename T> struct TestBaseSpecifiers { };
+template<typename T> struct TestBaseSpecifiers2 : TestBaseSpecifiers<T> { };
+
 //===----------------------------------------------------------------------===//
 #elif not defined(HEADER2)
 #define HEADER2
@@ -73,6 +76,9 @@
 
 template <typename T> struct TS2 { };
 
+struct TestBaseSpecifiers3 { };
+struct TestBaseSpecifiers4 : TestBaseSpecifiers3 { };
+
 struct A { };
 struct B : A { };