aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Support/NativeFormatting.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/lib/Support/NativeFormatting.cpp')
-rw-r--r--llvm/lib/Support/NativeFormatting.cpp10
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");
}