summaryrefslogtreecommitdiffstats
path: root/clang/test/ASTMerge/class2
diff options
context:
space:
mode:
Diffstat (limited to 'clang/test/ASTMerge/class2')
-rw-r--r--clang/test/ASTMerge/class2/Inputs/class3.cpp26
-rw-r--r--clang/test/ASTMerge/class2/test.cpp9
2 files changed, 35 insertions, 0 deletions
diff --git a/clang/test/ASTMerge/class2/Inputs/class3.cpp b/clang/test/ASTMerge/class2/Inputs/class3.cpp
new file mode 100644
index 00000000000..428acc3f031
--- /dev/null
+++ b/clang/test/ASTMerge/class2/Inputs/class3.cpp
@@ -0,0 +1,26 @@
+class C1 {
+public:
+ C1();
+ ~C1();
+ C1 *method_1() {
+ return this;
+ }
+ C1 method_2() {
+ return C1();
+ }
+ void method_3() {
+ const C1 &ref = C1();
+ }
+};
+
+class C11 : public C1 {
+};
+
+class C2 {
+private:
+ int x;
+ friend class C3;
+public:
+ static_assert(sizeof(x) == sizeof(int), "Error");
+ typedef class C2::C2 InjType;
+};
diff --git a/clang/test/ASTMerge/class2/test.cpp b/clang/test/ASTMerge/class2/test.cpp
new file mode 100644
index 00000000000..6021403d722
--- /dev/null
+++ b/clang/test/ASTMerge/class2/test.cpp
@@ -0,0 +1,9 @@
+// RUN: %clang_cc1 -triple %itanium_abi_triple -std=c++1z -emit-pch -o %t.1.ast %S/Inputs/class3.cpp
+// RUN: %clang_cc1 -triple %itanium_abi_triple -std=c++1z -ast-merge %t.1.ast -fsyntax-only -verify %s
+// expected-no-diagnostics
+
+class C3 {
+ int method_1(C2 *x) {
+ return x->x;
+ }
+};
OpenPOWER on IntegriCloud