aboutsummaryrefslogtreecommitdiff
path: root/test/CodeGenCXX/sparcv9-abi.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'test/CodeGenCXX/sparcv9-abi.cpp')
-rw-r--r--test/CodeGenCXX/sparcv9-abi.cpp26
1 files changed, 26 insertions, 0 deletions
diff --git a/test/CodeGenCXX/sparcv9-abi.cpp b/test/CodeGenCXX/sparcv9-abi.cpp
new file mode 100644
index 000000000000..128d648cebd5
--- /dev/null
+++ b/test/CodeGenCXX/sparcv9-abi.cpp
@@ -0,0 +1,26 @@
+// RUN: %clang_cc1 -triple sparcv9-unknown-unknown -emit-llvm %s -o - | FileCheck %s
+
+struct pod {
+ int a, b;
+};
+
+void f0();
+void f1(struct pod);
+
+struct notpod {
+ int a, b;
+ ~notpod() { f0(); }
+};
+
+void f2(struct notpod);
+
+// CHECK-LABEL: caller
+// CHECK: call void @_Z2f13pod(i64
+// CHECK: call void @_Z2f26notpod(%struct.notpod*
+void caller()
+{
+ pod p1;
+ notpod p2;
+ f1(p1);
+ f2(p2);
+}