summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Support/APFloat.cpp
diff options
context:
space:
mode:
authorDavide Italiano <davide@freebsd.org>2017-08-21 16:51:54 +0000
committerDavide Italiano <davide@freebsd.org>2017-08-21 16:51:54 +0000
commit5a2530da05c376760be9d119d0ef53b360956c06 (patch)
treeb9e6ea960835166e365d90de2b60b4bd4abe5372 /llvm/lib/Support/APFloat.cpp
parentcf081f9a30b06dff762231ddaba757abc7753a36 (diff)
downloadbcm5719-llvm-5a2530da05c376760be9d119d0ef53b360956c06.tar.gz
bcm5719-llvm-5a2530da05c376760be9d119d0ef53b360956c06.zip
[APFloat] Fix IsInteger() for DoubleAPFloat.
Previously, we would just assert instead. Differential Revision: https://reviews.llvm.org/D36961 llvm-svn: 311351
Diffstat (limited to 'llvm/lib/Support/APFloat.cpp')
-rw-r--r--llvm/lib/Support/APFloat.cpp5
1 files changed, 1 insertions, 4 deletions
diff --git a/llvm/lib/Support/APFloat.cpp b/llvm/lib/Support/APFloat.cpp
index deb76cb565d..f835bd1fbd2 100644
--- a/llvm/lib/Support/APFloat.cpp
+++ b/llvm/lib/Support/APFloat.cpp
@@ -4363,10 +4363,7 @@ bool DoubleAPFloat::isLargest() const {
bool DoubleAPFloat::isInteger() const {
assert(Semantics == &semPPCDoubleDouble && "Unexpected Semantics");
- APFloat Tmp(semPPCDoubleDoubleLegacy);
- (void)Tmp.add(Floats[0], rmNearestTiesToEven);
- (void)Tmp.add(Floats[1], rmNearestTiesToEven);
- return Tmp.isInteger();
+ return Floats[0].isInteger() && Floats[1].isInteger();
}
void DoubleAPFloat::toString(SmallVectorImpl<char> &Str,
OpenPOWER on IntegriCloud