diff options
Diffstat (limited to 'llvm')
-rw-r--r-- | llvm/lib/Support/APFloat.cpp | 4 | ||||
-rw-r--r-- | llvm/lib/Support/StringRef.cpp | 2 | ||||
-rw-r--r-- | llvm/unittests/ADT/APFloatTest.cpp | 26 |
3 files changed, 10 insertions, 22 deletions
diff --git a/llvm/lib/Support/APFloat.cpp b/llvm/lib/Support/APFloat.cpp index f6999a6f236..d26c5e6cd2e 100644 --- a/llvm/lib/Support/APFloat.cpp +++ b/llvm/lib/Support/APFloat.cpp @@ -4511,7 +4511,9 @@ hash_code hash_value(const APFloat &Arg) { APFloat::APFloat(const fltSemantics &Semantics, StringRef S) : APFloat(Semantics) { auto StatusOrErr = convertFromString(S, rmNearestTiesToEven); - assert(StatusOrErr && "Invalid floating point representation"); + if (!StatusOrErr) { + assert(false && "Invalid floating point representation"); + } } APFloat::opStatus APFloat::convert(const fltSemantics &ToSemantics, diff --git a/llvm/lib/Support/StringRef.cpp b/llvm/lib/Support/StringRef.cpp index 4142d130d51..b5db172cc1a 100644 --- a/llvm/lib/Support/StringRef.cpp +++ b/llvm/lib/Support/StringRef.cpp @@ -590,7 +590,7 @@ bool StringRef::getAsDouble(double &Result, bool AllowInexact) const { APFloat F(0.0); auto ErrOrStatus = F.convertFromString(*this, APFloat::rmNearestTiesToEven); if (!ErrOrStatus) { - assert("Invalid floating point representation"); + assert(false && "Invalid floating point representation"); return true; } diff --git a/llvm/unittests/ADT/APFloatTest.cpp b/llvm/unittests/ADT/APFloatTest.cpp index 927e1fe1367..db529a094c3 100644 --- a/llvm/unittests/ADT/APFloatTest.cpp +++ b/llvm/unittests/ADT/APFloatTest.cpp @@ -666,26 +666,12 @@ TEST(APFloatTest, Zero) { TEST(APFloatTest, DecimalStringsWithoutNullTerminators) { // Make sure that we can parse strings without null terminators. // rdar://14323230. - APFloat Val(APFloat::IEEEdouble()); - Val.convertFromString(StringRef("0.00", 3), - llvm::APFloat::rmNearestTiesToEven); - EXPECT_EQ(Val.convertToDouble(), 0.0); - Val.convertFromString(StringRef("0.01", 3), - llvm::APFloat::rmNearestTiesToEven); - EXPECT_EQ(Val.convertToDouble(), 0.0); - Val.convertFromString(StringRef("0.09", 3), - llvm::APFloat::rmNearestTiesToEven); - EXPECT_EQ(Val.convertToDouble(), 0.0); - Val.convertFromString(StringRef("0.095", 4), - llvm::APFloat::rmNearestTiesToEven); - EXPECT_EQ(Val.convertToDouble(), 0.09); - Val.convertFromString(StringRef("0.00e+3", 7), - llvm::APFloat::rmNearestTiesToEven); - EXPECT_EQ(Val.convertToDouble(), 0.00); - Val.convertFromString(StringRef("0e+3", 4), - llvm::APFloat::rmNearestTiesToEven); - EXPECT_EQ(Val.convertToDouble(), 0.00); - + EXPECT_EQ(convertToDoubleFromString(StringRef("0.00", 3)), 0.0); + EXPECT_EQ(convertToDoubleFromString(StringRef("0.01", 3)), 0.0); + EXPECT_EQ(convertToDoubleFromString(StringRef("0.09", 3)), 0.0); + EXPECT_EQ(convertToDoubleFromString(StringRef("0.095", 4)), 0.09); + EXPECT_EQ(convertToDoubleFromString(StringRef("0.00e+3", 7)), 0.00); + EXPECT_EQ(convertToDoubleFromString(StringRef("0e+3", 4)), 0.00); } TEST(APFloatTest, fromZeroDecimalString) { |