aboutsummaryrefslogtreecommitdiff
path: root/test/CodeGen/arm-aapcs-vfp.c
diff options
context:
space:
mode:
authorTim Northover <Tim.Northover@arm.com>2012-07-20 22:29:29 +0000
committerTim Northover <Tim.Northover@arm.com>2012-07-20 22:29:29 +0000
commitadfa45ffd67d1959cb1ff8cec88ad2ff3ffb7798 (patch)
treec2d049bedf19d31f108c0b5e0d0c138e558a0047 /test/CodeGen/arm-aapcs-vfp.c
parentc9dce4dbec86bff12c546586087a903c7b151dbd (diff)
Add "long double" to permitted list of ARM complex homogeneous aggregates.
Under AAPCS, long double is the same as double, which means it should be allowed as part of a homogeneous aggregate. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@160586 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/CodeGen/arm-aapcs-vfp.c')
-rw-r--r--test/CodeGen/arm-aapcs-vfp.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/test/CodeGen/arm-aapcs-vfp.c b/test/CodeGen/arm-aapcs-vfp.c
index 45204ed2b9..fdd87e0549 100644
--- a/test/CodeGen/arm-aapcs-vfp.c
+++ b/test/CodeGen/arm-aapcs-vfp.c
@@ -34,6 +34,13 @@ void test_complex(__complex__ double cd) {
complex_callee(cd);
}
+// Long double is the same as double on AAPCS, it should be homogeneous.
+extern void complex_long_callee(__complex__ long double);
+// CHECK: define arm_aapcs_vfpcc void @test_complex_long(double %{{.*}}, double %{{.*}})
+void test_complex_long(__complex__ long double cd) {
+ complex_callee(cd);
+}
+
// Structs with more than 4 elements of the base type are not treated
// as homogeneous aggregates. Test that.