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