summaryrefslogtreecommitdiff
path: root/lib/math/div64.c
diff options
context:
space:
mode:
authorJiri Kosina <jkosina@suse.com>2025-09-19 17:08:20 +0200
committerJiri Kosina <jkosina@suse.com>2025-09-19 17:08:36 +0200
commit71b28769d708f20046fc6f853cf93fb88a8b6e11 (patch)
treee579afda01909585ed70bb477233b0f4f72dabac /lib/math/div64.c
parent1860b13beca829c056179c63530eebfec9a3efb4 (diff)
parent02d6eeedbc36d4b309d5518778071a749ef79c4e (diff)
Merge remote-tracking branch 'origin' into for-6.18/intel-thc-hid
Needed as a basisi for followup support for quicki2c advanced BIOS features. Signed-off-by: Jiri Kosina <jkosina@suse.com>
Diffstat (limited to 'lib/math/div64.c')
-rw-r--r--lib/math/div64.c13
1 files changed, 7 insertions, 6 deletions
diff --git a/lib/math/div64.c b/lib/math/div64.c
index 5faa29208bdb..bf77b9843175 100644
--- a/lib/math/div64.c
+++ b/lib/math/div64.c
@@ -212,12 +212,13 @@ u64 mul_u64_u64_div_u64(u64 a, u64 b, u64 c)
#endif
- /* make sure c is not zero, trigger exception otherwise */
-#pragma GCC diagnostic push
-#pragma GCC diagnostic ignored "-Wdiv-by-zero"
- if (unlikely(c == 0))
- return 1/0;
-#pragma GCC diagnostic pop
+ /* make sure c is not zero, trigger runtime exception otherwise */
+ if (unlikely(c == 0)) {
+ unsigned long zero = 0;
+
+ OPTIMIZER_HIDE_VAR(zero);
+ return ~0UL/zero;
+ }
int shift = __builtin_ctzll(c);