From eb752d43c96c234f65b953200539c60dd723c425 Mon Sep 17 00:00:00 2001 From: Tim Northover Date: Fri, 20 Jul 2012 22:29:29 +0000 Subject: 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 --- clang/test/CodeGen/arm-aapcs-vfp.c | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'clang/test/CodeGen') 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. -- cgit v1.2.3