From c3f95a9ee9d5603f08565a4030546eed1db449cc Mon Sep 17 00:00:00 2001 From: Ryszard Glab Date: Sun, 30 Apr 2000 15:37:05 +0000 Subject: [PATCH] ChangeLog 20000430-17:45 GMT+1 --- harbour/ChangeLog | 10 ++++++++++ harbour/include/hbcomp.h | 33 --------------------------------- harbour/include/hbexprop.h | 6 +++--- harbour/include/hbmacro.h | 15 ++++----------- harbour/source/vm/macro.c | 36 ++++++++++++++++++------------------ 5 files changed, 35 insertions(+), 65 deletions(-) diff --git a/harbour/ChangeLog b/harbour/ChangeLog index 43fd39122a..87e54d5def 100644 --- a/harbour/ChangeLog +++ b/harbour/ChangeLog @@ -1,3 +1,13 @@ +20000430-17:45 GMT+1 Ryszard Glab + + *include/hbcomp.h + *include/hbexprop.h + *include/hbmacro.h + *source/vm/macro.c + * removed redundancy in extern declarations + * removed unused bStackAffected parameter used for + strong typing + 20000430-13:50 GMT+1 Ryszard Glab *source/compiler/harbour.c diff --git a/harbour/include/hbcomp.h b/harbour/include/hbcomp.h index b2fbad787e..63d6d7cd70 100644 --- a/harbour/include/hbcomp.h +++ b/harbour/include/hbcomp.h @@ -202,39 +202,6 @@ extern void hb_compExternAdd( char * szExternName ); /* defines a new extern nam #ifdef HB_MACRO_SUPPORT -extern BOOL hb_compVariableMacroCheck( char *, HB_MACRO_DECL ); /* checks if passed variable can be used in macro */ - -extern ULONG hb_compGenJump( LONG, HB_MACRO_DECL ); /* generates the pcode to jump to a specific offset */ -extern ULONG hb_compGenJumpFalse( LONG, HB_MACRO_DECL ); /* generates the pcode to jump if false */ -extern ULONG hb_compGenJumpTrue( LONG, HB_MACRO_DECL ); /* generates the pcode to jump if true */ -extern void hb_compGenJumpHere( ULONG, HB_MACRO_DECL ); /* returns the pcode pos where to set a jump offset */ -extern void hb_compGenJumpThere( ULONG, ULONG, HB_MACRO_DECL ); /* sets a jump offset */ - -extern void hb_compGenMessage( char *, HB_MACRO_DECL ); /* sends a message to an object */ -extern void hb_compGenMessageData( char *, HB_MACRO_DECL ); /* generates an underscore-symbol name for a data assignment */ -extern void hb_compGenPopVar( char *, HB_MACRO_DECL ); /* generates the pcode to pop a value from the virtual machine stack onto a variable */ -extern void hb_compGenPushDouble( double , BYTE, HB_MACRO_DECL ); /* Pushes a number on the virtual machine stack */ -extern void hb_compGenPushFunCall( char *, HB_MACRO_DECL ); /* generates the pcode to push function's call */ -extern void hb_compGenPushVar( char *, HB_MACRO_DECL ); /* generates the pcode to push a variable value to the virtual machine stack */ -extern void hb_compGenPushVarRef( char *, HB_MACRO_DECL ); /* generates the pcode to push a variable by reference to the virtual machine stack */ -extern void hb_compGenPushLogical( int, HB_MACRO_DECL ); /* pushes a logical value on the virtual machine stack */ -extern void hb_compGenPushLong( long, HB_MACRO_DECL ); /* Pushes a long number on the virtual machine stack */ -extern void hb_compGenPushNil( HB_MACRO_DECL ); /* Pushes nil on the virtual machine stack */ -extern void hb_compGenPushString( char *, ULONG, HB_MACRO_DECL ); /* Pushes a string on the virtual machine stack */ -extern void hb_compGenPushSymbol( char *, int, HB_MACRO_DECL ); /* Pushes a symbol on to the Virtual machine stack */ -extern void hb_compGenPushAliasedVar( char *, BOOL, char *, long, HB_MACRO_DECL ); -extern void hb_compGenPopAliasedVar( char *, BOOL, char *, long, HB_MACRO_DECL ); -extern void hb_compGenPushFunRef( char *, HB_MACRO_DECL ); -extern void hb_compGenPCode1( BYTE, HB_MACRO_DECL ); /* generates 1 byte of pcode */ -extern void hb_compGenPCode2( BYTE, BYTE, BOOL, HB_MACRO_DECL ); /* generates 2 bytes of pcode */ -extern void hb_compGenPCode3( BYTE, BYTE, BYTE, BOOL, HB_MACRO_DECL ); /* generates 3 bytes of pcode */ -extern void hb_compGenPCode4( BYTE, BYTE, BYTE, BYTE, BOOL, HB_MACRO_DECL ); /* generates 4 bytes of pcode */ -extern void hb_compGenPCodeN( BYTE * pBuffer, ULONG ulSize, BOOL, HB_MACRO_DECL ); /* copy bytes to a pcode buffer */ - -/* Codeblocks */ -extern void hb_compCodeBlockStart( HB_MACRO_DECL ); /* starts a codeblock creation */ -extern void hb_compCodeBlockEnd( HB_MACRO_DECL ); /* end of codeblock creation */ - #define hb_compErrorType( p ) hb_macroError( EG_ARG, HB_MACRO_PARAM ) #define hb_compErrorIndex( p ) hb_macroError( EG_BOUND, HB_MACRO_PARAM ) #define hb_compErrorSyntax( p ) hb_macroError( EG_SYNTAX, HB_MACRO_PARAM ) diff --git a/harbour/include/hbexprop.h b/harbour/include/hbexprop.h index 2d640a372d..bb1604cb79 100644 --- a/harbour/include/hbexprop.h +++ b/harbour/include/hbexprop.h @@ -229,9 +229,9 @@ typedef HB_EXPR_PTR HB_EXPR_ACTION( HB_EXPR_PTR pSelf, int iMessage, void * pMa #define HB_EXPR_PCODE3( action, p1, p2, p3 ) action( (p1), (p2), (p3), pMacro ) #define HB_EXPR_PCODE4( action, p1, p2, p3, p4 ) action( (p1), (p2), (p3), (p4), pMacro ) #define HB_EXPR_GENPCODE1( action, p1 ) action( (p1), pMacro ) -#define HB_EXPR_GENPCODE2( action, p1, p2, p3 ) action( (p1), (p2), (p3), pMacro ) -#define HB_EXPR_GENPCODE3( action, p1, p2, p3, p4 ) action( (p1), (p2), (p3), (p4), pMacro ) -#define HB_EXPR_GENPCODE4( action, p1, p2, p3, p4, p5 ) action( (p1), (p2), (p3), (p4), (p5), pMacro ) +#define HB_EXPR_GENPCODE2( action, p1, p2, p3 ) action( (p1), (p2), pMacro ) +#define HB_EXPR_GENPCODE3( action, p1, p2, p3, p4 ) action( (p1), (p2), (p3), pMacro ) +#define HB_EXPR_GENPCODE4( action, p1, p2, p3, p4, p5 ) action( (p1), (p2), (p3), (p4), pMacro ) #define HB_MACRO_VARNAME pMacro diff --git a/harbour/include/hbmacro.h b/harbour/include/hbmacro.h index 621dd16ad3..5676e4b93b 100644 --- a/harbour/include/hbmacro.h +++ b/harbour/include/hbmacro.h @@ -87,12 +87,10 @@ extern void hb_macroError( int, HB_MACRO_DECL ); extern int hb_compParse( HB_MACRO_PTR ); extern void hb_compGenPCode1( BYTE, HB_MACRO_DECL ); -extern void hb_compGenPCode2( BYTE, BYTE, BOOL, HB_MACRO_DECL ); -extern void hb_compGenPCode3( BYTE, BYTE, BYTE, BOOL, HB_MACRO_DECL ); -extern void hb_compGenPCode4( BYTE, BYTE, BYTE, BYTE, BOOL, HB_MACRO_DECL ); -extern void hb_compGenPCodeN( BYTE * pBuffer, ULONG ulSize, BOOL, HB_MACRO_DECL ); - -extern void hb_compGenJumpHere( ULONG, HB_MACRO_DECL ); +extern void hb_compGenPCode2( BYTE, BYTE, HB_MACRO_DECL ); +extern void hb_compGenPCode3( BYTE, BYTE, BYTE, HB_MACRO_DECL ); +extern void hb_compGenPCode4( BYTE, BYTE, BYTE, BYTE, HB_MACRO_DECL ); +extern void hb_compGenPCodeN( BYTE * pBuffer, ULONG ulSize, HB_MACRO_DECL ); /* Size of pcode buffer incrementation */ @@ -131,11 +129,6 @@ extern void hb_compGenPushLogical( int iTrueFalse, HB_MACRO_DECL ); extern void hb_compGenPushDouble( double dNumber, BYTE bDec, HB_MACRO_DECL ); extern void hb_compGenPushFunCall( char * szFunName, HB_MACRO_DECL ); extern void hb_compGenPushString( char * szText, ULONG ulStrLen, HB_MACRO_DECL ); -extern void hb_compGenPCode1( BYTE byte, HB_MACRO_DECL ); -extern void hb_compGenPCode2( BYTE byte1, BYTE byte2, BOOL bStackAffected, HB_MACRO_DECL ); -extern void hb_compGenPCode3( BYTE byte1, BYTE byte2, BYTE byte3, BOOL bStackAffected, HB_MACRO_DECL ); -extern void hb_compGenPCode4( BYTE byte1, BYTE byte2, BYTE byte3, BYTE byte4, BOOL bStackAffected, HB_MACRO_DECL ); -extern void hb_compGenPCodeN( BYTE * pBuffer, ULONG ulSize, BOOL, HB_MACRO_DECL ); extern void hb_compCodeBlockStart( HB_MACRO_DECL ); extern void hb_compCodeBlockEnd( HB_MACRO_DECL ); diff --git a/harbour/source/vm/macro.c b/harbour/source/vm/macro.c index 622cf2cceb..1f04c32c94 100644 --- a/harbour/source/vm/macro.c +++ b/harbour/source/vm/macro.c @@ -755,7 +755,7 @@ ULONG hb_compGenJump( LONG lOffset, HB_MACRO_DECL ) if( lOffset < ( LONG ) SHRT_MIN || lOffset > ( LONG ) SHRT_MAX ) hb_macroError( HB_MACRO_TOO_COMPLEX, HB_MACRO_PARAM ); - hb_compGenPCode3( HB_P_JUMP, HB_LOBYTE( lOffset ), HB_HIBYTE( lOffset ), ( BOOL ) 0, HB_MACRO_PARAM ); + hb_compGenPCode3( HB_P_JUMP, HB_LOBYTE( lOffset ), HB_HIBYTE( lOffset ), HB_MACRO_PARAM ); return HB_PCODE_DATA->lPCodePos - 2; } @@ -767,7 +767,7 @@ ULONG hb_compGenJumpFalse( LONG lOffset, HB_MACRO_DECL ) if( lOffset < ( LONG ) SHRT_MIN || lOffset > ( LONG ) SHRT_MAX ) hb_macroError( HB_MACRO_TOO_COMPLEX, HB_MACRO_PARAM ); - hb_compGenPCode3( HB_P_JUMPFALSE, HB_LOBYTE( lOffset ), HB_HIBYTE( lOffset ), ( BOOL ) 1, HB_MACRO_PARAM ); + hb_compGenPCode3( HB_P_JUMPFALSE, HB_LOBYTE( lOffset ), HB_HIBYTE( lOffset ), HB_MACRO_PARAM ); return HB_PCODE_DATA->lPCodePos - 2; } @@ -798,7 +798,7 @@ ULONG hb_compGenJumpTrue( LONG lOffset, HB_MACRO_DECL ) if( lOffset < ( LONG ) SHRT_MIN || lOffset > ( LONG ) SHRT_MAX ) hb_macroError( HB_MACRO_TOO_COMPLEX, HB_MACRO_PARAM ); - hb_compGenPCode3( HB_P_JUMPTRUE, HB_LOBYTE( lOffset ), HB_HIBYTE( lOffset ), ( BOOL ) 1, HB_MACRO_PARAM ); + hb_compGenPCode3( HB_P_JUMPTRUE, HB_LOBYTE( lOffset ), HB_HIBYTE( lOffset ), HB_MACRO_PARAM ); return HB_PCODE_DATA->lPCodePos - 2; } @@ -833,7 +833,7 @@ void hb_compMemvarGenPCode( BYTE bPCode, char * szVarName, HB_MACRO_DECL ) pSym = hb_dynsymGet( szVarName ); } hb_compGenPCode1( bPCode, HB_MACRO_PARAM ); - hb_compGenPCodeN( ( BYTE * )( &pSym ), sizeof( pSym ), ( BOOL ) 0, HB_MACRO_PARAM ); + hb_compGenPCodeN( ( BYTE * )( &pSym ), sizeof( pSym ), HB_MACRO_PARAM ); } /* generates the pcode to push a symbol on the virtual machine stack */ @@ -861,7 +861,7 @@ void hb_compGenPushSymbol( char * szSymbolName, int isFunction, HB_MACRO_DECL ) pSym = hb_dynsymGet( szSymbolName ); hb_compGenPCode1( HB_P_MPUSHSYM, HB_MACRO_PARAM ); - hb_compGenPCodeN( ( BYTE * ) &pSym, sizeof( pSym ), ( BOOL ) 0, HB_MACRO_PARAM ); + hb_compGenPCodeN( ( BYTE * ) &pSym, sizeof( pSym ), HB_MACRO_PARAM ); } /* generates the pcode to push a long number on the virtual machine stack */ @@ -888,7 +888,7 @@ void hb_compGenMessage( char * szMsgName, HB_MACRO_DECL ) HB_DYNS_PTR pSym = hb_dynsymGet( szMsgName ); hb_compGenPCode1( HB_P_MMESSAGE, HB_MACRO_PARAM ); - hb_compGenPCodeN( ( BYTE * ) &pSym, sizeof( pSym ), ( BOOL ) 0, HB_MACRO_PARAM ); + hb_compGenPCodeN( ( BYTE * ) &pSym, sizeof( pSym ), HB_MACRO_PARAM ); } /* generates an underscore-symbol name for a data assignment */ @@ -915,7 +915,7 @@ void hb_compGenPopVar( char * szVarName, HB_MACRO_DECL ) if( iVar ) { /* this is a codeblock parameter */ - hb_compGenPCode3( HB_P_POPLOCAL, HB_LOBYTE( iVar ), HB_HIBYTE( iVar ), ( BOOL ) 1, HB_MACRO_PARAM ); + hb_compGenPCode3( HB_P_POPLOCAL, HB_LOBYTE( iVar ), HB_HIBYTE( iVar ), HB_MACRO_PARAM ); } else { @@ -996,7 +996,7 @@ void hb_compGenPushVar( char * szVarName, HB_MACRO_DECL ) if( iVar ) { /* this is a codeblock parameter */ - hb_compGenPCode3( HB_P_PUSHLOCAL, HB_LOBYTE( iVar ), HB_HIBYTE( iVar ), ( BOOL ) 1, HB_MACRO_PARAM ); + hb_compGenPCode3( HB_P_PUSHLOCAL, HB_LOBYTE( iVar ), HB_HIBYTE( iVar ), HB_MACRO_PARAM ); } else { @@ -1015,7 +1015,7 @@ void hb_compGenPushVarRef( char * szVarName, HB_MACRO_DECL ) iVar = hb_compLocalVarGetPos( szVarName, HB_MACRO_PARAM ); if( iVar ) - hb_compGenPCode3( HB_P_PUSHLOCALREF, HB_LOBYTE( iVar ), HB_HIBYTE( iVar ), ( BOOL ) 1, HB_MACRO_PARAM ); + hb_compGenPCode3( HB_P_PUSHLOCALREF, HB_LOBYTE( iVar ), HB_HIBYTE( iVar ), HB_MACRO_PARAM ); else { hb_compMemvarGenPCode( HB_P_MPUSHMEMVARREF, szVarName, HB_MACRO_PARAM ); @@ -1097,7 +1097,7 @@ void hb_compGenPushLogical( int iTrueFalse, HB_MACRO_DECL ) void hb_compGenPushDouble( double dNumber, BYTE bDec, HB_MACRO_DECL ) { hb_compGenPCode1( HB_P_PUSHDOUBLE, HB_MACRO_PARAM ); - hb_compGenPCodeN( ( BYTE * ) &dNumber, sizeof( double ), ( BOOL ) 0, HB_MACRO_PARAM ); + hb_compGenPCodeN( ( BYTE * ) &dNumber, sizeof( double ), HB_MACRO_PARAM ); hb_compGenPCode1( bDec, HB_MACRO_PARAM ); } @@ -1122,8 +1122,8 @@ void hb_compGenPushFunCall( char * szFunName, HB_MACRO_DECL ) /* generates the pcode to push a string on the virtual machine stack */ void hb_compGenPushString( char * szText, ULONG ulStrLen, HB_MACRO_DECL ) { - hb_compGenPCode3( HB_P_PUSHSTR, HB_LOBYTE( ulStrLen ), HB_HIBYTE( ulStrLen ), ( BOOL ) 1, HB_MACRO_PARAM ); - hb_compGenPCodeN( ( BYTE * ) szText, ulStrLen, ( BOOL ) 0, HB_MACRO_PARAM ); + hb_compGenPCode3( HB_P_PUSHSTR, HB_LOBYTE( ulStrLen ), HB_HIBYTE( ulStrLen ), HB_MACRO_PARAM ); + hb_compGenPCodeN( ( BYTE * ) szText, ulStrLen, HB_MACRO_PARAM ); } @@ -1137,7 +1137,7 @@ void hb_compGenPCode1( BYTE byte, HB_MACRO_DECL ) pFunc->pCode[ pFunc->lPCodePos++ ] = byte; } -void hb_compGenPCode2( BYTE byte1, BYTE byte2, BOOL bStackAffected, HB_MACRO_DECL ) +void hb_compGenPCode2( BYTE byte1, BYTE byte2, HB_MACRO_DECL ) { HB_PCODE_INFO_PTR pFunc = HB_PCODE_DATA; @@ -1148,7 +1148,7 @@ void hb_compGenPCode2( BYTE byte1, BYTE byte2, BOOL bStackAffected, HB_MACRO_DEC pFunc->pCode[ pFunc->lPCodePos++ ] = byte2; } -void hb_compGenPCode3( BYTE byte1, BYTE byte2, BYTE byte3, BOOL bStackAffected, HB_MACRO_DECL ) +void hb_compGenPCode3( BYTE byte1, BYTE byte2, BYTE byte3, HB_MACRO_DECL ) { HB_PCODE_INFO_PTR pFunc = HB_PCODE_DATA; @@ -1160,7 +1160,7 @@ void hb_compGenPCode3( BYTE byte1, BYTE byte2, BYTE byte3, BOOL bStackAffected, pFunc->pCode[ pFunc->lPCodePos++ ] = byte3; } -void hb_compGenPCode4( BYTE byte1, BYTE byte2, BYTE byte3, BYTE byte4, BOOL bStackAffected, HB_MACRO_DECL ) +void hb_compGenPCode4( BYTE byte1, BYTE byte2, BYTE byte3, BYTE byte4, HB_MACRO_DECL ) { HB_PCODE_INFO_PTR pFunc = HB_PCODE_DATA; @@ -1173,7 +1173,7 @@ void hb_compGenPCode4( BYTE byte1, BYTE byte2, BYTE byte3, BYTE byte4, BOOL bSta pFunc->pCode[ pFunc->lPCodePos++ ] = byte4; } -void hb_compGenPCodeN( BYTE * pBuffer, ULONG ulSize, BOOL bStackAffected, HB_MACRO_DECL ) +void hb_compGenPCodeN( BYTE * pBuffer, ULONG ulSize, HB_MACRO_DECL ) { HB_PCODE_INFO_PTR pFunc = HB_PCODE_DATA; @@ -1260,12 +1260,12 @@ void hb_compCodeBlockEnd( HB_MACRO_DECL ) /*NOTE: HB_P_MPUSHBLOCK differs from HB_P_PUSHBLOCK - the pcode * is stored in dynamic memory pool instead of static memory */ - hb_compGenPCode3( HB_P_MPUSHBLOCK, HB_LOBYTE( wSize ), HB_HIBYTE( wSize ), ( BOOL ) 1, HB_MACRO_PARAM ); + hb_compGenPCode3( HB_P_MPUSHBLOCK, HB_LOBYTE( wSize ), HB_HIBYTE( wSize ), HB_MACRO_PARAM ); hb_compGenPCode1( HB_LOBYTE( wParms ), HB_MACRO_PARAM ); hb_compGenPCode1( HB_HIBYTE( wParms ), HB_MACRO_PARAM ); /* copy a codeblock pcode buffer */ - hb_compGenPCodeN( pCodeblock->pCode, pCodeblock->lPCodePos, ( BOOL ) 1, HB_MACRO_PARAM ); + hb_compGenPCodeN( pCodeblock->pCode, pCodeblock->lPCodePos, HB_MACRO_PARAM ); hb_compGenPCode1( HB_P_ENDBLOCK, HB_MACRO_PARAM ); /* finish the codeblock */ /* free memory allocated for a codeblock */