From b7a8491fbd90b7de010b5e7f74e09996520f3e61 Mon Sep 17 00:00:00 2001 From: Rose <83477269+AtariDreams@users.noreply.github.com> Date: Fri, 10 Feb 2023 13:19:30 -0500 Subject: Remove Workarounds for Old Clang Bug https://bugs.llvm.org/show_bug.cgi?id=38289 has been addressed since 2019. We just have to check to see if the clang being used to compile with is any version before major version 9. --- absl/strings/internal/str_format/float_conversion.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'absl/strings') diff --git a/absl/strings/internal/str_format/float_conversion.cc b/absl/strings/internal/str_format/float_conversion.cc index 8e497852..fe0ad4bd 100644 --- a/absl/strings/internal/str_format/float_conversion.cc +++ b/absl/strings/internal/str_format/float_conversion.cc @@ -1102,7 +1102,7 @@ void PrintExponent(int exp, char e, Buffer *out) { template constexpr bool CanFitMantissa() { return -#if defined(__clang__) && !defined(__SSE3__) +#if defined(__clang__) && (__clang_major__ < 9) && !defined(__SSE3__) // Workaround for clang bug: https://bugs.llvm.org/show_bug.cgi?id=38289 // Casting from long double to uint64_t is miscompiled and drops bits. (!std::is_same::value || -- cgit v1.2.3