From c07c4655f1301af833e5e7a35628593b2a145aae Mon Sep 17 00:00:00 2001 From: Akira Hatanaka Date: Wed, 8 Feb 2012 01:31:22 +0000 Subject: Do not return records with non trivial destructors or copy constructors in registers. llvm-svn: 150035 --- clang/test/CodeGen/mips64-nontrivial-return.cpp | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 clang/test/CodeGen/mips64-nontrivial-return.cpp (limited to 'clang/test/CodeGen/mips64-nontrivial-return.cpp') diff --git a/clang/test/CodeGen/mips64-nontrivial-return.cpp b/clang/test/CodeGen/mips64-nontrivial-return.cpp new file mode 100644 index 00000000000..8aff9ab32f0 --- /dev/null +++ b/clang/test/CodeGen/mips64-nontrivial-return.cpp @@ -0,0 +1,17 @@ +// RUN: %clang -target mips64el-unknown-linux -ccc-clang-archs mips64el -O3 -S -mabi=n64 -o - -emit-llvm %s | FileCheck %s + +class B { +public: + virtual ~B() {} +}; + +class D : public B { +}; + +extern D gd0; + +// CHECK: _Z4foo1v(%class.D* noalias nocapture sret + +D foo1(void) { + return gd0; +} -- cgit v1.2.3