From 6c8c5cd410d34067c433fae3d0409bc36dd4d47a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Przemys=C5=82aw=20Czerpak?= Date: Thu, 30 Jan 2025 03:34:52 +0100 Subject: [PATCH] 2025-01-30 03:34 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl) * include/hbdefs.h * added final workarounds for OpenWatcom 2.0 bug in 64bit expressions used in #[el]if statements --- ChangeLog.txt | 5 +++++ include/hbdefs.h | 7 +++++-- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/ChangeLog.txt b/ChangeLog.txt index ae0e7ef6d1..44556341ed 100644 --- a/ChangeLog.txt +++ b/ChangeLog.txt @@ -7,6 +7,11 @@ Entries may not always be in chronological/commit order. See license at the end of file. */ +2025-01-30 03:34 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl) + * include/hbdefs.h + * added final workarounds for OpenWatcom 2.0 bug in 64bit expressions used + in #[el]if statements + 2025-01-30 02:48 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl) * contrib/sddsqlt3/core.c * include/hbdefs.h diff --git a/include/hbdefs.h b/include/hbdefs.h index fb32a9bbb6..f0a17a6ad6 100644 --- a/include/hbdefs.h +++ b/include/hbdefs.h @@ -511,6 +511,9 @@ typedef HB_U32 HB_SYMCNT; # define HB_ULL( num ) num##ULL #endif +#if defined( __WATCOMC__ ) && LONGLONG_MAX < LONG_MAX + #define HB_WATCOM_64BUG +#endif /* HB_*_EXPLENGTH() macros are used by HVM to set the size of * math operations, HB_*_LENGTH() macros are used when new @@ -537,10 +540,10 @@ typedef HB_U32 HB_SYMCNT; #endif #if ! defined( HB_LONG_LONG_OFF ) -# if HB_VMLONG_MAX > HB_LL( 9999999999 ) +# if HB_VMLONG_MAX > HB_LL( 9999999999 ) || defined( HB_WATCOM_64BUG ) # define HB_LONG_LENGTH( l ) ( ( (l) < -999999999 || (l) > HB_LL( 9999999999 ) ) ? 20 : 10 ) # endif -# if HB_VMINT_MAX > HB_LL( 9999999999 ) +# if HB_VMINT_MAX > HB_LL( 9999999999 ) && ! defined( HB_WATCOM_64BUG ) # define HB_INT_EXPLENGTH( i ) HB_LONG_LENGTH( i ) # endif #endif