diff --git a/harbour/ChangeLog b/harbour/ChangeLog index c6ef6fc916..c2d4fc3609 100644 --- a/harbour/ChangeLog +++ b/harbour/ChangeLog @@ -8,6 +8,32 @@ 2008-12-31 13:59 UTC+0100 Foo Bar */ +2008-05-30 12:05 UTC+0100 Viktor Szakats (harbour.01 syenar hu) + * include/hbsetup.ch + * include/hbsetup.h + * source/common/hbverdsp.c + * source/vm/arrays.c + - HB_FUNC_CALLCONV - no longer used. + - HARBOUR_OBJ_GENERATION - no longer used. + + Added profiler setting to build info. + - YACC debug setting removed frmo build info. + * Build info strict compatibility line now says 5.2e/5.3b. + * HB_EXTENSION renamed to "non-portable extension" + - HB_COMP_STRONG_TYPES - no longer used. + - HB_FIX_ACOPY_BUG + Replaced with a HB_C52_STRICT guard, but locally + overridden to always be strict (thus replicating + the bug). This means no change in functionality + for default builds. In any ways this is not a decision + to make by the Harbour users. If anyone had this + locally #defined anyway, pls shout. + ; NOTE: It's nice that I'm removing unused stuff, but + my impression is that by time we have added + quite some new such settings burried in the code, + so if you're aware of any such ones, please + add them to hbsetup.h (or let's discuss which + ones to add). + 2008-05-30 11:48 UTC+0100 Viktor Szakats (harbour.01 syenar hu) * contrib/hbgd/gdwrp.c * Tweaked the BCC55 hack for WIN32_LEAN_AND_MEAN and gd.h. diff --git a/harbour/include/hbsetup.ch b/harbour/include/hbsetup.ch index dcb0b7fc37..73de71c504 100644 --- a/harbour/include/hbsetup.ch +++ b/harbour/include/hbsetup.ch @@ -59,7 +59,7 @@ /* NOTE: You can select here, which features you want to include of the different Clipper implementations. */ -/* #define HB_EXTENSION */ /* Enable Harbour extensions */ +/* #define HB_EXTENSION */ /* Enable Harbour non-portable extensions */ #define HB_C52_UNDOC /* Enable CA-Cl*pper 5.2e/5.3x undocumented features */ /* #define HB_C52_STRICT */ /* Enable CA-Cl*pper 5.2e/5.3x strict compatibility */ #define HB_COMPAT_C53 /* Enable CA-Cl*pper 5.3x extensions */ diff --git a/harbour/include/hbsetup.h b/harbour/include/hbsetup.h index 52ef5f9b1c..f287996379 100644 --- a/harbour/include/hbsetup.h +++ b/harbour/include/hbsetup.h @@ -94,17 +94,7 @@ * * By default we are using extensions to ANSI C (symbol is not defined) */ -/*#define HARBOUR_STRICT_ANSI_C */ - -/* *********************************************************************** - * This symbol defines the calling convention used for Harbour level - * functions. - * - * To use "pascal" mode, you should define this macro to "pascal". - * - * By default we are not using any special calling conventions. - */ -/*#define HB_FUNC_CALLCONV*/ +/* #define HARBOUR_STRICT_ANSI_C */ /* *********************************************************************** * Define this option if you want the /y YACC trace option to be available @@ -112,10 +102,9 @@ * * Note that if you turn this on, the compiler will slighly grow in size. * - * By default this is turned on. - * TODO: This should be disabled, when the parser has matured. + * By default this is turned off. */ -/*#define HARBOUR_YYDEBUG*/ +/* #define HARBOUR_YYDEBUG */ /* *********************************************************************** * If you turn this on, the memory subsystem will collect trace information @@ -133,7 +122,6 @@ #define HB_FM_STATISTICS #endif - /* *********************************************************************** * Enable profiler support in HVM * By default this is turned off. Define HB_USE_PROFILER to turn it on. @@ -151,26 +139,14 @@ /* #define HB_FM_WIN32_ALLOC */ -/* *********************************************************************** - * This symbol defines if we want an ability to create and link OBJ files - * generated by Harbour compiler - * - * Note that the Virtual Machine support need a platform/compiler specific - * assembler module, so you will be able to use this only with 32 bits - * Borland C/C++ compilers. - * - * By default it is disabled (symbol is not defined) - */ -/*#define HARBOUR_OBJ_GENERATION*/ - /* *********************************************************************** * You can select here, what type of main entry will be used in the * application (main() or WinMain()). * * By default the standard C main() function will be used. */ -/*#define HARBOUR_MAIN_STD*/ -/*#define HARBOUR_MAIN_WIN*/ +/* #define HARBOUR_MAIN_STD */ +/* #define HARBOUR_MAIN_WIN */ /* *********************************************************************** * You can set here the maximum symbol name length handled by Harbour @@ -186,7 +162,7 @@ #endif /* *********************************************************************** - * You can enable here support for multiline strings concatenated by ';' + * You can enable here support for multiline strings concatenated by ';' * f.e.: * cVar := "line 1; * line 2; @@ -207,25 +183,6 @@ */ /* #define HB_MACRO_STATEMENTS */ - -/* *********************************************************************** - * This fixes a bug in Clipper that allowed for copy array elements - * beyond the destination array size - * - * By default we are 100% Clipper compatible - */ -/* #define HB_FIX_ACOPY_BUG */ - -/* *********************************************************************** - * You can select here if you want a strong type support in the compiler - * For example: - * LOCAL nVar AS ARRAY - * - * By default we are not using the strong typing because it is not - * complete code and can be erratic now. - */ -/* #define HB_COMP_STRONG_TYPES */ - /* *********************************************************************** * Detect GCC/OS2 */ diff --git a/harbour/source/common/hbverdsp.c b/harbour/source/common/hbverdsp.c index ffa1d186a3..8c7de0597a 100644 --- a/harbour/source/common/hbverdsp.c +++ b/harbour/source/common/hbverdsp.c @@ -152,7 +152,7 @@ void hb_verBuildInfo( void ) hb_conOutErr( hb_conNewLine(), 0 ); - hb_conOutErr( "Harbour extensions: ", 0 ); + hb_conOutErr( "Harbour non-portable extensions: ", 0 ); #if defined( HB_EXTENSION ) hb_conOutErr( "Yes", 0 ); #else @@ -168,16 +168,16 @@ void hb_verBuildInfo( void ) #endif hb_conOutErr( hb_conNewLine(), 0 ); - hb_conOutErr( "CA-Clipper 5.2e strict compatibility: ", 0 ); -#if defined( HB_C52_STRICT ) + hb_conOutErr( "CA-Clipper 5.3x compatible extensions: ", 0 ); +#if defined( HB_COMPAT_C53 ) hb_conOutErr( "Yes", 0 ); #else hb_conOutErr( "No", 0 ); #endif hb_conOutErr( hb_conNewLine(), 0 ); - hb_conOutErr( "CA-Clipper 5.3x compatible extensions: ", 0 ); -#if defined( HB_COMPAT_C53 ) + hb_conOutErr( "CA-Clipper 5.2e/5.3b strict compatibility: ", 0 ); +#if defined( HB_C52_STRICT ) hb_conOutErr( "Yes", 0 ); #else hb_conOutErr( "No", 0 ); @@ -232,14 +232,6 @@ void hb_verBuildInfo( void ) #endif hb_conOutErr( hb_conNewLine(), 0 ); - hb_conOutErr( "Object file generation support: ", 0 ); -#if defined( HARBOUR_OBJ_GENERATION ) - hb_conOutErr( "Yes", 0 ); -#else - hb_conOutErr( "No", 0 ); -#endif - hb_conOutErr( hb_conNewLine(), 0 ); - hb_conOutErr( "ANSI C usage: ", 0 ); #if defined( HARBOUR_STRICT_ANSI_C ) hb_conOutErr( "Strict", 0 ); @@ -256,23 +248,16 @@ void hb_verBuildInfo( void ) #endif hb_conOutErr( hb_conNewLine(), 0 ); - hb_conOutErr( "Compiler YACC debug mode: ", 0 ); -#if defined( HARBOUR_YYDEBUG ) - hb_conOutErr( "On", 0 ); -#else + hb_conOutErr( "Profiler: ", 0 ); +#if defined( HB_NO_PROFILER ) hb_conOutErr( "Off", 0 ); +#else + hb_conOutErr( "On", 0 ); #endif hb_conOutErr( hb_conNewLine(), 0 ); hb_conOutErr( "Memory tracing and statistics: ", 0 ); hb_conOutErr( hb_xquery( HB_MEM_USEDMAX ) != 0 ? "On" : "Off", 0 ); -/* -#if defined( HB_FM_STATISTICS ) - hb_conOutErr( "On", 0 ); -#else - hb_conOutErr( "Off", 0 ); -#endif -*/ hb_conOutErr( hb_conNewLine(), 0 ); { diff --git a/harbour/source/vm/arrays.c b/harbour/source/vm/arrays.c index e0c4203f5a..8f9b332513 100644 --- a/harbour/source/vm/arrays.c +++ b/harbour/source/vm/arrays.c @@ -1224,14 +1224,14 @@ BOOL hb_arrayCopy( PHB_ITEM pSrcArray, PHB_ITEM pDstArray, ULONG * pulStart, ulCount = ulSrcLen - ulStart + 1; /* This is probably a bug, present in all versions of CA-Cl*pper. */ -#ifdef HB_FIX_ACOPY_BUG - if( ulTarget <= ulDstLen ) - { -#else +#if defined( HB_C52_STRICT ) || 1 if( ulDstLen > 0 ) { if( ulTarget > ulDstLen ) ulTarget = ulDstLen; +#else + if( ulTarget <= ulDstLen ) + { #endif if( ulCount > ulDstLen - ulTarget )