summaryrefslogtreecommitdiffstats
path: root/clang/test
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
commiteb752d43c96c234f65b953200539c60dd723c425 (patch)
tree1505228199ff00e036edc037d4e982deb961bc08 /clang/test
parentf4e11de8e8495aa4e4ea649a9a2ed7c48dede7da (diff)
downloadbcm5719-llvm-eb752d43c96c234f65b953200539c60dd723c425.tar.gz
bcm5719-llvm-eb752d43c96c234f65b953200539c60dd723c425.zip
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. llvm-svn: 160586
Diffstat (limited to 'clang/test')
-rw-r--r--clang/test/CodeGen/arm-aapcs-vfp.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/clang/test/CodeGen/arm-aapcs-vfp.c b/clang/test/CodeGen/arm-aapcs-vfp.c
index 45204ed2b9e..fdd87e05495 100644
--- a/clang/test/CodeGen/arm-aapcs-vfp.c
+++ b/clang/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.
OpenPOWER on IntegriCloud