summaryrefslogtreecommitdiffstats
path: root/clang/lib/CodeGen/TargetInfo.cpp
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/lib/CodeGen/TargetInfo.cpp
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/lib/CodeGen/TargetInfo.cpp')
-rw-r--r--clang/lib/CodeGen/TargetInfo.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/clang/lib/CodeGen/TargetInfo.cpp b/clang/lib/CodeGen/TargetInfo.cpp
index 1ff7ed00503..13a3ff1ee23 100644
--- a/clang/lib/CodeGen/TargetInfo.cpp
+++ b/clang/lib/CodeGen/TargetInfo.cpp
@@ -2623,7 +2623,8 @@ static bool isHomogeneousAggregate(QualType Ty, const Type *&Base,
// double, or 64-bit or 128-bit vectors.
if (const BuiltinType *BT = Ty->getAs<BuiltinType>()) {
if (BT->getKind() != BuiltinType::Float &&
- BT->getKind() != BuiltinType::Double)
+ BT->getKind() != BuiltinType::Double &&
+ BT->getKind() != BuiltinType::LongDouble)
return false;
} else if (const VectorType *VT = Ty->getAs<VectorType>()) {
unsigned VecSize = Context.getTypeSize(VT);
OpenPOWER on IntegriCloud