summaryrefslogtreecommitdiffstats
path: root/clang/test/CodeGenCXX/pr13396.cpp
diff options
context:
space:
mode:
authorRafael Espindola <rafael.espindola@gmail.com>2012-07-31 02:44:24 +0000
committerRafael Espindola <rafael.espindola@gmail.com>2012-07-31 02:44:24 +0000
commit06b2b4a7c940a299473e5fece3fa31fe58233aff (patch)
treea2ebac330e79b10b410b7a7d4134913348f3e7be /clang/test/CodeGenCXX/pr13396.cpp
parent3865c6e670a9d8054050ac9af733e8a2a5906554 (diff)
downloadbcm5719-llvm-06b2b4a7c940a299473e5fece3fa31fe58233aff.tar.gz
bcm5719-llvm-06b2b4a7c940a299473e5fece3fa31fe58233aff.zip
Handle functions with struct arguments or return types and the regparm
attribute. It is a variation of the x86_64 ABI: * A struct returned indirectly uses the first register argument to pass the pointer. * Floats, Doubles and structs containing only one of them are not passed in registers. * Other structs are split into registers if they fit on the remaining ones. Otherwise they are passed in memory. * When a struct doesn't fit it still consumes the registers. llvm-svn: 161022
Diffstat (limited to 'clang/test/CodeGenCXX/pr13396.cpp')
-rw-r--r--clang/test/CodeGenCXX/pr13396.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/clang/test/CodeGenCXX/pr13396.cpp b/clang/test/CodeGenCXX/pr13396.cpp
index b390eea009f..7d4e2ce74f0 100644
--- a/clang/test/CodeGenCXX/pr13396.cpp
+++ b/clang/test/CodeGenCXX/pr13396.cpp
@@ -1,4 +1,4 @@
-// RUN: %clang_cc1 %s -emit-llvm -o - | FileCheck %s
+// RUN: %clang_cc1 -triple i686-pc-linux-gnu %s -emit-llvm -o - | FileCheck %s
struct foo {
template<typename T>
__attribute__ ((regparm (3))) foo(T x) {}
OpenPOWER on IntegriCloud