summaryrefslogtreecommitdiff
path: root/absl/numeric
diff options
context:
space:
mode:
authorGravatar Rose <83477269+AtariDreams@users.noreply.github.com>2023-02-10 13:19:30 -0500
committerGravatar Rose <83477269+AtariDreams@users.noreply.github.com>2023-02-14 10:51:42 -0500
commitb7a8491fbd90b7de010b5e7f74e09996520f3e61 (patch)
tree0e8ce4eed369e701a0e61a4b4edf2270fe3dae2a /absl/numeric
parentd6a45e95ab515b55a2437835fdd5873c6572131d (diff)
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.
Diffstat (limited to 'absl/numeric')
-rw-r--r--absl/numeric/int128.cc2
1 files changed, 1 insertions, 1 deletions
diff --git a/absl/numeric/int128.cc b/absl/numeric/int128.cc
index e5526c6f..e0e3bce8 100644
--- a/absl/numeric/int128.cc
+++ b/absl/numeric/int128.cc
@@ -111,7 +111,7 @@ uint128 MakeUint128FromFloat(T v) {
return MakeUint128(0, static_cast<uint64_t>(v));
}
-#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.
// It is more work, so only use when we need the workaround.