[PATCH] D61140: Copy Argument Passing Restrictions setting when importing a CXXRecordDecl definition
Raphael Isemann via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Thu Apr 25 11:20:40 PDT 2019
teemperor added a comment.
In D61140#1479111 <https://reviews.llvm.org/D61140#1479111>, @aprantl wrote:
> Could we test this by doing -dump-ast of From and To and FileCheck-ing the output?
+1 for this. Importing a simple record should test this? E.g. something like this:
diff --git a/clang/test/Import/cxx-record-flags/Inputs/F.cpp b/clang/test/Import/cxx-record-flags/Inputs/F.cpp
new file mode 100644
index 00000000000..8d1d88c632d
--- /dev/null
+++ b/clang/test/Import/cxx-record-flags/Inputs/F.cpp
@@ -0,0 +1,11 @@
+class FTrivial {
+ int i;
+};
+
+void foo();
+
+struct FNonTrivial {
+ FNonTrivial(const FNonTrivial &F) { foo(); }
+ int i;
+};
+
diff --git a/clang/test/Import/cxx-record-flags/test.cpp b/clang/test/Import/cxx-record-flags/test.cpp
new file mode 100644
index 00000000000..c51558b4793
--- /dev/null
+++ b/clang/test/Import/cxx-record-flags/test.cpp
@@ -0,0 +1,15 @@
+// RUN: clang-import-test -dump-ast -import %S/Inputs/F.cpp -expression %s | FileCheck %s
+
+// CHECK: FTrivial
+// CHECK-NEXT: DefinitionData
+// CHECK-SAME: pass_in_registers
+
+// CHECK: FNonTrivial
+// CHECK-NEXT: DefinitionData
+// CHECK-NOT: pass_in_registers
+// CHECK: DefaultConstructor
+
+void expr() {
+ FTrivial f1;
+ FNonTrivial f2;
+}
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D61140/new/
https://reviews.llvm.org/D61140
More information about the cfe-commits
mailing list