diff --git a/harbour/ChangeLog b/harbour/ChangeLog index 33a98f805a..724bd257c8 100644 --- a/harbour/ChangeLog +++ b/harbour/ChangeLog @@ -1,3 +1,14 @@ +20000401-03:20 EST Paul Tucker + * source/rdd/dbf1.c + * source/rdd/sdf1.c + * source/rdd/delim1.c + * source/rdd/dbfcdx/dbfcdx1.c + * source/rdd/dbfntx/dbfntx1.c + * source/compiler/genc.c + * contrib/rdd_ads/ads1.c + * include/hbinit.h + * updated initSymbols handling - again + 20000401-02:00 EST Paul Tucker * include/hbvmpub.h * turns out msc8 doesn't know pack(push) diff --git a/harbour/contrib/rdd_ads/ads1.c b/harbour/contrib/rdd_ads/ads1.c index f28da0cdb3..1ac2e7e274 100644 --- a/harbour/contrib/rdd_ads/ads1.c +++ b/harbour/contrib/rdd_ads/ads1.c @@ -69,9 +69,7 @@ HB_INIT_SYMBOLS_END( ads1__InitSymbols ) #else #pragma data_seg( "XIY" ) #endif - #pragma warning( disable: 4152 ) - static void * hb_vm_auto_ads1__InitSymbols = &ads1__InitSymbols; - #pragma warning( default: 4152 ) + static HB_$INITSYM hb_vm_auto_ads1__InitSymbols = ads1__InitSymbols; #pragma data_seg() #elif ! defined(__GNUC__) #pragma startup ads1__InitSymbols diff --git a/harbour/include/hbinit.h b/harbour/include/hbinit.h index 737d0b4b64..4748740d8f 100644 --- a/harbour/include/hbinit.h +++ b/harbour/include/hbinit.h @@ -111,6 +111,8 @@ extern void hb_vmProcessSymbols( PHB_SYMB pSymbols, USHORT uiSymbols ); /* stati #elif defined(_MSC_VER) + typedef int (* HB_$INTISYM)( void ); + #define HB_INIT_SYMBOLS_BEGIN( func ) \ static HB_SYMB symbols[] = { diff --git a/harbour/source/compiler/genc.c b/harbour/source/compiler/genc.c index 91ed01b8a9..90c22c02e2 100644 --- a/harbour/source/compiler/genc.c +++ b/harbour/source/compiler/genc.c @@ -167,9 +167,7 @@ void hb_compGenCCode( PHB_FNAME pFileName ) /* generates the C language ou " #else\n" " #pragma data_seg( \"XIY\" )\n" " #endif\n" - " #pragma warning( disable: 4152 )\n" - " static void * hb_vm_auto_SymbolInit_%s%s = &hb_vm_SymbolInit_%s%s;\n" - " #pragma warning( default: 4152 )\n" + " static HB_$INITSYM hb_vm_auto_SymbolInit_%s%s = hb_vm_SymbolInit_%s%s;\n" " #pragma data_seg()\n" "#elif ! defined(__GNUC__)\n" " #pragma startup hb_vm_SymbolInit_%s%s\n" diff --git a/harbour/source/rdd/dbf1.c b/harbour/source/rdd/dbf1.c index 6a093cca8a..447042cfa8 100644 --- a/harbour/source/rdd/dbf1.c +++ b/harbour/source/rdd/dbf1.c @@ -110,9 +110,7 @@ HB_INIT_SYMBOLS_END( dbf1__InitSymbols ) #else #pragma data_seg( "XIY" ) #endif - #pragma warning( disable: 4152 ) - static void * hb_vm_auto_dbf1__InitSymbols = &dbf1__InitSymbols; - #pragma warning( default: 4152 ) + static HB_$INITSYM hb_vm_auto_dbf1__InitSymbols = dbf1__InitSymbols; #pragma data_seg() #elif ! defined(__GNUC__) #pragma startup dbf1__InitSymbols diff --git a/harbour/source/rdd/dbfcdx/dbfcdx1.c b/harbour/source/rdd/dbfcdx/dbfcdx1.c index 776464f8e8..398ffb93a4 100644 --- a/harbour/source/rdd/dbfcdx/dbfcdx1.c +++ b/harbour/source/rdd/dbfcdx/dbfcdx1.c @@ -109,9 +109,7 @@ HB_INIT_SYMBOLS_END( dbfcdx1__InitSymbols ) #else #pragma data_seg( "XIY" ) #endif - #pragma warning( disable: 4152 ) - static void * hb_vm_auto_dbfcdx1__InitSymbols = &dbfcdx1__InitSymbols; - #pragma warning( default: 4152 ) + static HB_$INITSYM hb_vm_auto_dbfcdx1__InitSymbols = dbfcdx1__InitSymbols; #pragma data_seg() #elif ! defined(__GNUC__) #pragma startup dbfcdx1__InitSymbols diff --git a/harbour/source/rdd/dbfntx/dbfntx1.c b/harbour/source/rdd/dbfntx/dbfntx1.c index a1699be565..2e988f5b85 100644 --- a/harbour/source/rdd/dbfntx/dbfntx1.c +++ b/harbour/source/rdd/dbfntx/dbfntx1.c @@ -55,9 +55,7 @@ HB_INIT_SYMBOLS_END( dbfntx1__InitSymbols ) #else #pragma data_seg( "XIY" ) #endif - #pragma warning( disable: 4152 ) - static void * hb_vm_auto_dbfntx1__InitSymbols = &dbfntx1__InitSymbols; - #pragma warning( default: 4152 ) + static HB_$INITSYM hb_vm_auto_dbfntx1__InitSymbols = dbfntx1__InitSymbols; #pragma data_seg() #elif ! defined(__GNUC__) #pragma startup dbfntx1__InitSymbols @@ -88,3 +86,4 @@ HB_FUNC( DBFNTX_GETFUNCTABLE ) else hb_retni( FAILURE ); } + diff --git a/harbour/source/rdd/delim1.c b/harbour/source/rdd/delim1.c index fea73df064..5e654d3a8a 100644 --- a/harbour/source/rdd/delim1.c +++ b/harbour/source/rdd/delim1.c @@ -54,9 +54,7 @@ HB_INIT_SYMBOLS_END( delim1__InitSymbols ) #else #pragma data_seg( "XIY" ) #endif - #pragma warning( disable: 4152 ) - static void * hb_vm_auto_delim1__InitSymbols = &delim1__InitSymbols; - #pragma warning( default: 4152 ) + static HB_$INITSYM hb_vm_auto_delim1__InitSymbols = delim1__InitSymbols; #pragma data_seg() #elif ! defined(__GNUC__) #pragma startup delim1__InitSymbols diff --git a/harbour/source/rdd/sdf1.c b/harbour/source/rdd/sdf1.c index 3390df3c68..e7a820c8c6 100644 --- a/harbour/source/rdd/sdf1.c +++ b/harbour/source/rdd/sdf1.c @@ -54,9 +54,7 @@ HB_INIT_SYMBOLS_END( sdf1__InitSymbols ) #else #pragma data_seg( "XIY" ) #endif - #pragma warning( disable: 4152 ) - static void * hb_vm_auto_sdf1__InitSymbols = &sdf1__InitSymbols; - #pragma warning( default: 4152 ) + static HB_$INITSYM hb_vm_auto_sdf1__InitSymbols = sdf1__InitSymbols; #pragma data_seg() #elif ! defined(__GNUC__) #pragma startup sdf1__InitSymbols @@ -87,3 +85,4 @@ HB_FUNC( SDF_GETFUNCTABLE ) else hb_retni( FAILURE ); } +