summaryrefslogtreecommitdiffstats
path: root/clang/test/ASTMerge
diff options
context:
space:
mode:
authorSean Callanan <scallanan@apple.com>2016-05-14 05:20:31 +0000
committerSean Callanan <scallanan@apple.com>2016-05-14 05:20:31 +0000
commit55d486d72ac56241f7f64d4dd719517f95b45332 (patch)
tree4315f3ae62b81d21d6f666dffa6ef342420369c5 /clang/test/ASTMerge
parentab4a8b6ca3713df076741b3ff95b68551e4926ea (diff)
downloadbcm5719-llvm-55d486d72ac56241f7f64d4dd719517f95b45332.tar.gz
bcm5719-llvm-55d486d72ac56241f7f64d4dd719517f95b45332.zip
Added support to the ASTImporter for C++ constructor initializers.
Thanks to Aleksei Sidorin for review and advice. llvm-svn: 269546
Diffstat (limited to 'clang/test/ASTMerge')
-rw-r--r--clang/test/ASTMerge/Inputs/init-ctors-classes.cpp17
-rw-r--r--clang/test/ASTMerge/init-ctors.cpp10
2 files changed, 27 insertions, 0 deletions
diff --git a/clang/test/ASTMerge/Inputs/init-ctors-classes.cpp b/clang/test/ASTMerge/Inputs/init-ctors-classes.cpp
new file mode 100644
index 00000000000..616e5dfebcc
--- /dev/null
+++ b/clang/test/ASTMerge/Inputs/init-ctors-classes.cpp
@@ -0,0 +1,17 @@
+class A_base
+{
+public:
+ int x;
+ A_base(int _x) : x(_x) {
+ }
+};
+
+class A : public A_base
+{
+public:
+ int y;
+ struct { int z; };
+ int array[2];
+ A(int _x) : A_base(_x), y(0), z(1), array{{2},{3}} {
+ }
+};
diff --git a/clang/test/ASTMerge/init-ctors.cpp b/clang/test/ASTMerge/init-ctors.cpp
new file mode 100644
index 00000000000..5f0ba4decd9
--- /dev/null
+++ b/clang/test/ASTMerge/init-ctors.cpp
@@ -0,0 +1,10 @@
+// RUN: %clang_cc1 -triple %itanium_abi_triple -std=c++1z -emit-pch -o %t.1.ast %S/Inputs/init-ctors-classes.cpp
+// RUN: %clang_cc1 -triple %itanium_abi_triple -std=c++1z -ast-merge %t.1.ast -fsyntax-only -verify %s
+// expected-no-diagnostics
+
+class B {
+ int method_1() {
+ A a(0);
+ return a.x;
+ }
+};
OpenPOWER on IntegriCloud