Changeset: a2b7d4acb7d8 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/a2b7d4acb7d8
Modified Files:
gdk/gdk_calc_private.h
Branch: Aug2024
Log Message:
Fix for systems with __int128, no hge, no __has_builtin.
I.e. our power8 system without hugeint.
diffs (34 lines):
diff --git a/gdk/gdk_calc_private.h b/gdk/gdk_calc_private.h
--- a/gdk/gdk_calc_private.h
+++ b/gdk/gdk_calc_private.h
@@ -121,7 +121,7 @@
#define MUL4_WITH_CHECK(lft, rgt, TYPE3, dst, max, TYPE4, on_overflow) \
do { \
TYPE4 c = (TYPE4) (lft) * (rgt); \
- if (c < (TYPE4) -(max) /*|| c > (TYPE4) (max)*/) { \
+ if (c < (TYPE4) -(max) || c > (TYPE4) (max)) { \
on_overflow; \
} else { \
(dst) = (TYPE3) c; \
@@ -132,12 +132,11 @@
/* integer version using Gnu CC builtin function for overflow check */
#define MULI4_WITH_CHECK(lft, rgt, TYPE3, dst, max, TYPE4, on_overflow) \
OP_WITH_CHECK(lft, rgt, dst, mul, max, on_overflow)
-#define LNGMUL_CHECK(lft, rgt, dst, max, on_overflow) \
- OP_WITH_CHECK(lft, rgt, dst, mul, max, on_overflow)
#else
/* integer version using generic version */
#define MULI4_WITH_CHECK(lft, rgt, TYPE3, dst, max, TYPE4, on_overflow) \
MUL4_WITH_CHECK(lft, rgt, TYPE3, dst, max, TYPE4, on_overflow)
+#endif
#ifdef HAVE_HGE
#define LNGMUL_CHECK(lft, rgt, dst, max, on_overflow) \
MULI4_WITH_CHECK(lft, rgt, lng, dst, max, hge, on_overflow)
@@ -189,7 +188,6 @@
} \
} while (0)
#endif /* HAVE_HGE */
-#endif
#define MULF4_WITH_CHECK(lft, rgt, TYPE3, dst, max, TYPE4, on_overflow) \
MUL4_WITH_CHECK(lft, rgt, TYPE3, dst, max, TYPE4, on_overflow)
_______________________________________________
checkin-list mailing list -- [email protected]
To unsubscribe send an email to [email protected]