2001-07-20 22:45 UTC-0800 Ron Pinkas <ron@profit-master.com>

* include/hbexpra.c
    % Wrapped hb_compExprSetGetBlock() unneeded with simplex build, with #ifndef SIMPLEX

  * include/hbexprb.c
    * Disabled support for HB_PUSHMACROARG within hb_compExprUseAssign()

  * include/hbexprc.c
    * Disabled support for HB_PUSHMACROARG within hb_compExprPushOperEq()
This commit is contained in:
Ron Pinkas
2001-07-20 19:47:26 +00:00
parent 7ff137b5c8
commit b42709f955
4 changed files with 28 additions and 1 deletions

View File

@@ -1,3 +1,13 @@
2001-07-20 22:45 UTC-0800 Ron Pinkas <ron@profit-master.com>
* include/hbexpra.c
% Wrapped hb_compExprSetGetBlock() unneeded with simplex build, with #ifndef SIMPLEX
* include/hbexprb.c
* Disabled support for HB_PUSHMACROARG within hb_compExprUseAssign()
* include/hbexprc.c
* Disabled support for HB_PUSHMACROARG within hb_compExprPushOperEq()
2001-07-20 15:10 GMT+2 Martin Vopgel <vogel@inttec.de>
* source/rtl/math.c
* include/hbmath.h
@@ -18,7 +28,6 @@
* contrib/libct/makefile.bc
! typo fixed
2001-07-20 13:35 GMT+3 Alexander Kresin <alex@belacy.belgorod.su>
* source/rtl/memofile.c
! A bug fixed, which appeared while reading an empty file

View File

@@ -840,6 +840,7 @@ HB_EXPR_PTR hb_compExprReduce( HB_EXPR_PTR pExpr )
}
#endif
#ifndef SIMPLEX
/* Creates a set/get codeblock for passed expression used in __GET
*
* {|| IIF( PCOUNT()==0, <pExpr>, <pExpr>:=HB_PARAM(1) )}
@@ -890,3 +891,5 @@ HB_EXPR_PTR hb_compExprSetGetBlock( HB_EXPR_PTR pExpr )
*/
return hb_compExprAddListExpr( hb_compExprNewCodeBlock(), pIIF );
}
#endif

View File

@@ -1723,11 +1723,18 @@ static HB_EXPR_FUNC( hb_compExprUseAssign )
else
{
/* it assigns a value and leaves it on the stack */
/* Temporarily disable HB_P_MACROPUSHARG support. */
BOOL bArg = hb_exp_bArgList; hb_exp_bArgList = FALSE;
HB_EXPR_USE( pSelf->value.asOperator.pRight, HB_EA_PUSH_PCODE );
/* QUESTION: Can we replace DUPLICATE+POP with a single PUT opcode
*/
HB_EXPR_GENPCODE1( hb_compGenPCode1, HB_P_DUPLICATE );
HB_EXPR_USE( pSelf->value.asOperator.pLeft, HB_EA_POP_PCODE );
/* Restore HB_P_MACROPUSHARG support. */
hb_exp_bArgList = bArg;
}
}
break;

View File

@@ -88,6 +88,10 @@ void hb_compExprPushOperEq( HB_EXPR_PTR pSelf, BYTE bOpEq, HB_MACRO_DECL )
void hb_compExprPushOperEq( HB_EXPR_PTR pSelf, BYTE bOpEq )
#endif
{
extern BOOL hb_exp_bArgList;
/* Temporarily disable HB_P_MACROPUSHARG support. */
BOOL bArg = hb_exp_bArgList; hb_exp_bArgList = FALSE;
/* NOTE: an object instance variable needs special handling
*/
if( pSelf->value.asOperator.pLeft->ExprType == HB_ET_SEND )
@@ -161,6 +165,10 @@ void hb_compExprPushOperEq( HB_EXPR_PTR pSelf, BYTE bOpEq )
/* pop the new value into variable and leave the copy on the stack */
HB_EXPR_USE( pSelf->value.asOperator.pLeft, HB_EA_POP_PCODE );
}
/* Restore HB_P_MACROPUSHARG support. */
hb_exp_bArgList = bArg;
}
/* Generates pcodes for <operator>= syntax