diff --git a/.github/workflows/windows-ci.yml b/.github/workflows/windows-ci.yml index 728070e0ce..7848c0d760 100644 --- a/.github/workflows/windows-ci.yml +++ b/.github/workflows/windows-ci.yml @@ -111,7 +111,6 @@ jobs: case ${{matrix.strictness}} in normal) ;; strict) case ${{matrix.compiler}} in - (mingw64) HB_USER_CFLAGS="$HB_USER_CFLAGS -Werror" ;; (bcc) HB_USER_CFLAGS="$HB_USER_CFLAGS -w!" ;; (*) HB_USER_CFLAGS="$HB_USER_CFLAGS -Werror" ;; esac ;; diff --git a/ChangeLog.txt b/ChangeLog.txt index 7e52ae26bf..7dbe0efaa5 100644 --- a/ChangeLog.txt +++ b/ChangeLog.txt @@ -7,6 +7,17 @@ Entries may not always be in chronological/commit order. See license at the end of file. */ +2025-02-03 12:26 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl) + * include/hbdefs.h + * contrib/sddsqlt3/core.c + - removed HB_WATCOM_64BUG macro - new versions of OW 2.0 supports 64bit + integers in preprocessor directives - Many thanks to Aleksander who + reported the problem on OpenWatcom V2 forum + + added test for 64bit support in C preprocessor suggested by Aleksander + + * .github/workflows/windows-ci.yml + * minor simplification + 2025-02-03 10:50 UTC+0100 Aleksander Czajczynski (hb fki.pl) * contrib/hbcurl/core.c * formatting, use HB_IT_EVALITEM instead ( HB_IT_BLOCK | HB_IT_SYMBOL ) diff --git a/contrib/sddsqlt3/core.c b/contrib/sddsqlt3/core.c index 70b0c6f6fa..f902368309 100644 --- a/contrib/sddsqlt3/core.c +++ b/contrib/sddsqlt3/core.c @@ -590,7 +590,7 @@ static HB_ERRCODE sqlite3GoTo( SQLBASEAREAP pArea, HB_ULONG ulRecNo ) break; case HB_FT_INTEGER: -#if HB_VMLONG_MAX != INT32_MAX && ! defined( HB_LONG_LONG_OFF ) +#if HB_VMLONG_MAX > INT32_MAX && ! defined( HB_LONG_LONG_OFF ) pItem = hb_itemPutNInt( NULL, sqlite3_column_int64( st, ui ) ); break; #else diff --git a/include/hbdefs.h b/include/hbdefs.h index f0a17a6ad6..8b9fafb516 100644 --- a/include/hbdefs.h +++ b/include/hbdefs.h @@ -511,8 +511,12 @@ typedef HB_U32 HB_SYMCNT; # define HB_ULL( num ) num##ULL #endif -#if defined( __WATCOMC__ ) && LONGLONG_MAX < LONG_MAX - #define HB_WATCOM_64BUG +#if LONGLONG_MAX < LONG_MAX + #if defined( __WATCOMC__ ) + #error "Your Watcom C can't preprocess 64-bit constants, use HB_USER_CFLAGS=-za99 or upgrade/downgrade" + #else + #error "Your C compiler wrongly preprocess 64-bit constants" + #endif #endif /* HB_*_EXPLENGTH() macros are used by HVM to set the size of @@ -540,10 +544,10 @@ typedef HB_U32 HB_SYMCNT; #endif #if ! defined( HB_LONG_LONG_OFF ) -# if HB_VMLONG_MAX > HB_LL( 9999999999 ) || defined( HB_WATCOM_64BUG ) +# if HB_VMLONG_MAX > HB_LL( 9999999999 ) # define HB_LONG_LENGTH( l ) ( ( (l) < -999999999 || (l) > HB_LL( 9999999999 ) ) ? 20 : 10 ) # endif -# if HB_VMINT_MAX > HB_LL( 9999999999 ) && ! defined( HB_WATCOM_64BUG ) +# if HB_VMINT_MAX > HB_LL( 9999999999 ) # define HB_INT_EXPLENGTH( i ) HB_LONG_LENGTH( i ) # endif #endif