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 -- checkin-list@monetdb.org
To unsubscribe send an email to checkin-list-le...@monetdb.org

Reply via email to