summaryrefslogtreecommitdiffstats
path: root/clang/test/ASTMerge/anonymous-fields
diff options
context:
space:
mode:
Diffstat (limited to 'clang/test/ASTMerge/anonymous-fields')
-rw-r--r--clang/test/ASTMerge/anonymous-fields/Inputs/anonymous-fields1.cpp5
-rw-r--r--clang/test/ASTMerge/anonymous-fields/Inputs/anonymous-fields2.cpp9
-rw-r--r--clang/test/ASTMerge/anonymous-fields/test.cpp4
3 files changed, 18 insertions, 0 deletions
diff --git a/clang/test/ASTMerge/anonymous-fields/Inputs/anonymous-fields1.cpp b/clang/test/ASTMerge/anonymous-fields/Inputs/anonymous-fields1.cpp
new file mode 100644
index 00000000000..829bc0edd30
--- /dev/null
+++ b/clang/test/ASTMerge/anonymous-fields/Inputs/anonymous-fields1.cpp
@@ -0,0 +1,5 @@
+class A {
+public:
+ struct { int foo; } f;
+ struct { int foo; } g;
+};
diff --git a/clang/test/ASTMerge/anonymous-fields/Inputs/anonymous-fields2.cpp b/clang/test/ASTMerge/anonymous-fields/Inputs/anonymous-fields2.cpp
new file mode 100644
index 00000000000..28ea46d9871
--- /dev/null
+++ b/clang/test/ASTMerge/anonymous-fields/Inputs/anonymous-fields2.cpp
@@ -0,0 +1,9 @@
+class A {
+public:
+ struct { int foo; } f;
+ struct { int foo; } g;
+};
+
+inline int useA(A &a) {
+ return (a.f.foo + a.g.foo);
+}
diff --git a/clang/test/ASTMerge/anonymous-fields/test.cpp b/clang/test/ASTMerge/anonymous-fields/test.cpp
new file mode 100644
index 00000000000..67afc29d07e
--- /dev/null
+++ b/clang/test/ASTMerge/anonymous-fields/test.cpp
@@ -0,0 +1,4 @@
+// RUN: %clang_cc1 -emit-pch -o %t.1.ast %S/Inputs/anonymous-fields1.cpp
+// RUN: %clang_cc1 -emit-pch -o %t.2.ast %S/Inputs/anonymous-fields2.cpp
+// RUN: %clang_cc1 -emit-obj -o /dev/null -ast-merge %t.1.ast -ast-merge %t.2.ast %s
+// expected-no-diagnostics
OpenPOWER on IntegriCloud