diff options
Diffstat (limited to 'test/CodeGenCXX/sparcv9-abi.cpp')
-rw-r--r-- | test/CodeGenCXX/sparcv9-abi.cpp | 26 |
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); +} |