diff options
Diffstat (limited to 'llvm/lib/Support/NativeFormatting.cpp')
-rw-r--r-- | llvm/lib/Support/NativeFormatting.cpp | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/llvm/lib/Support/NativeFormatting.cpp b/llvm/lib/Support/NativeFormatting.cpp index 0a797046bb68..8a69f7513255 100644 --- a/llvm/lib/Support/NativeFormatting.cpp +++ b/llvm/lib/Support/NativeFormatting.cpp @@ -14,6 +14,10 @@ #include "llvm/Support/MathExtras.h" #include "llvm/Support/raw_ostream.h" +#if defined(_WIN32) && !defined(__MINGW32__) +#include <float.h> // For _fpclass in llvm::write_double. +#endif + using namespace llvm; template<typename T, std::size_t N> @@ -133,7 +137,7 @@ void llvm::write_hex(raw_ostream &S, uint64_t N, HexPrintStyle Style, Optional<size_t> Width) { const size_t kMaxWidth = 128u; - size_t W = std::min(kMaxWidth, Width.getValueOr(0u)); + size_t W = std::min(kMaxWidth, Width.value_or(0u)); unsigned Nibbles = (64 - countLeadingZeros(N) + 3) / 4; bool Prefix = (Style == HexPrintStyle::PrefixLower || @@ -161,7 +165,7 @@ void llvm::write_hex(raw_ostream &S, uint64_t N, HexPrintStyle Style, void llvm::write_double(raw_ostream &S, double N, FloatStyle Style, Optional<size_t> Precision) { - size_t Prec = Precision.getValueOr(getDefaultPrecision(Style)); + size_t Prec = Precision.value_or(getDefaultPrecision(Style)); if (std::isnan(N)) { S << "nan"; @@ -258,5 +262,5 @@ size_t llvm::getDefaultPrecision(FloatStyle Style) { case FloatStyle::Percent: return 2; // Number of decimal places. } - LLVM_BUILTIN_UNREACHABLE; + llvm_unreachable("Unknown FloatStyle enum"); } |