diff options
author | Tim Northover <Tim.Northover@arm.com> | 2012-07-20 22:29:29 +0000 |
---|---|---|
committer | Tim Northover <Tim.Northover@arm.com> | 2012-07-20 22:29:29 +0000 |
commit | eb752d43c96c234f65b953200539c60dd723c425 (patch) | |
tree | 1505228199ff00e036edc037d4e982deb961bc08 /clang/lib/CodeGen/TargetInfo.cpp | |
parent | f4e11de8e8495aa4e4ea649a9a2ed7c48dede7da (diff) | |
download | bcm5719-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.cpp | 3 |
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); |