diff options
Diffstat (limited to 'test/PCH/cxx11-inheriting-ctors.cpp')
-rw-r--r-- | test/PCH/cxx11-inheriting-ctors.cpp | 34 |
1 files changed, 28 insertions, 6 deletions
diff --git a/test/PCH/cxx11-inheriting-ctors.cpp b/test/PCH/cxx11-inheriting-ctors.cpp index 79f78ba6c126..bf9a2b7609df 100644 --- a/test/PCH/cxx11-inheriting-ctors.cpp +++ b/test/PCH/cxx11-inheriting-ctors.cpp @@ -1,10 +1,19 @@ -// RUN: %clang_cc1 -std=c++11 -emit-pch -o %t %s -// RUN: %clang_cc1 -std=c++11 -include-pch %t -verify %s +// RUN: %clang_cc1 -std=c++11 -include %s -include %s -verify %s +// +// Emit with definitions in the declaration: +// RxN: %clang_cc1 -std=c++11 -emit-pch -o %t.12 -include %s %s +// RxN: %clang_cc1 -std=c++11 -include-pch %t.12 -verify %s +// +// Emit with definitions in update records: +// RxN: %clang_cc1 -std=c++11 -emit-pch -o %t.1 %s +// RxN: %clang_cc1 -std=c++11 -include-pch %t.1 -emit-pch -o %t.2 -verify %s +// RxN: %clang_cc1 -std=c++11 -include-pch %t.1 -include-pch %t.2 -verify %s + // expected-no-diagnostics -#ifndef HEADER_INCLUDED -#define HEADER_INCLUDED +#ifndef HEADER1 +#define HEADER1 struct Base { Base(int) {} @@ -27,7 +36,8 @@ struct Test3 : B { using B::B; }; -#else +#elif !defined(HEADER2) +#define HEADER2 Test test1a(42); Test test1b(nullptr); @@ -36,4 +46,16 @@ Test2<int> test2b(nullptr); Test3<Base> test3a(42); Test3<Base> test3b(nullptr); -#endif // HEADER_INCLUDED +#pragma clang __debug dump Test +#pragma clang __debug dump Test2 + +#else + +Test retest1a(42); +Test retest1b(nullptr); +Test2<int> retest2a(42); +Test2<int> retest2b(nullptr); +Test3<Base> retest3a(42); +Test3<Base> retest3b(nullptr); + +#endif |