[libc-commits] [libc] [libc] Workaround for gcc complaining about implicit conversions with the ternary ?: operator. (PR #124820)
via libc-commits
libc-commits at lists.llvm.org
Tue Jan 28 10:55:37 PST 2025
llvmbot wrote:
<!--LLVM PR SUMMARY COMMENT-->
@llvm/pr-subscribers-libc
Author: None (lntue)
<details>
<summary>Changes</summary>
Fixes https://github.com/llvm/llvm-project/issues/120427.
---
Full diff: https://github.com/llvm/llvm-project/pull/124820.diff
1 Files Affected:
- (modified) libc/src/__support/FPUtil/except_value_utils.h (+8-4)
``````````diff
diff --git a/libc/src/__support/FPUtil/except_value_utils.h b/libc/src/__support/FPUtil/except_value_utils.h
index f8e4e92d3e1fb3..2e58bf2b287fdf 100644
--- a/libc/src/__support/FPUtil/except_value_utils.h
+++ b/libc/src/__support/FPUtil/except_value_utils.h
@@ -81,12 +81,16 @@ template <typename T, size_t N> struct ExceptValues {
StorageType out_bits = values[i].rnd_towardzero_result;
switch (fputil::quick_get_round()) {
case FE_UPWARD:
- out_bits += sign ? values[i].rnd_downward_offset
- : values[i].rnd_upward_offset;
+ if (sign)
+ out_bits += values[i].rnd_downward_offset;
+ else
+ out_bits += values[i].rnd_upward_offset;
break;
case FE_DOWNWARD:
- out_bits += sign ? values[i].rnd_upward_offset
- : values[i].rnd_downward_offset;
+ if (sign)
+ out_bits += values[i].rnd_upward_offset;
+ else
+ out_bits += values[i].rnd_downward_offset;
break;
case FE_TONEAREST:
out_bits += values[i].rnd_tonearest_offset;
``````````
</details>
https://github.com/llvm/llvm-project/pull/124820
More information about the libc-commits
mailing list