From 685b34cc2d16c004530748636ef1ec19daffcd29 Mon Sep 17 00:00:00 2001 From: Ryszard Glab Date: Thu, 23 Dec 1999 15:22:38 +0000 Subject: [PATCH] ChangeLog 19991223-16:35 --- harbour/ChangeLog | 8 ++++++++ harbour/include/hbexpr.c | 5 +++-- harbour/source/compiler/harbour.y | 1 + 3 files changed, 12 insertions(+), 2 deletions(-) diff --git a/harbour/ChangeLog b/harbour/ChangeLog index 073fa222fa..499bea007a 100644 --- a/harbour/ChangeLog +++ b/harbour/ChangeLog @@ -1,3 +1,11 @@ +19991223-16:35 GMT+1 Ryszard Glab + + *include/hbexpr.c + *source/compiler/expropt.c + *source/compiler/harbour.y + * fixed compiler parse error on aliased macro expressions + M->&( expression ) + 19991222-18:20 GMT+1 Ryszard Glab *include/hbexpr.c diff --git a/harbour/include/hbexpr.c b/harbour/include/hbexpr.c index 250b559927..fd1dda2ce9 100644 --- a/harbour/include/hbexpr.c +++ b/harbour/include/hbexpr.c @@ -2348,7 +2348,7 @@ static HB_EXPR_FUNC( hb_compExprUseMacro ) */ if( pSelf->value.asMacro.SubType == HB_ET_MACRO_FUNCALL ) hb_compGenPCode1( HB_P_MACROSYMBOL ); - else + else if( pSelf->value.asMacro.SubType != HB_ET_MACRO_ALIASED ) hb_compGenPCode1( HB_P_MACROPUSH ); /* NOTE: pcode for alias context is generated in * hb_compExprUseAliasVar() @@ -2386,7 +2386,8 @@ static HB_EXPR_FUNC( hb_compExprUseMacro ) /* compile & run - macro compiler will generate pcode to pop a value * from the eval stack */ - hb_compGenPCode1( HB_P_MACROPOP ); + if( pSelf->value.asMacro.SubType != HB_ET_MACRO_ALIASED ) + hb_compGenPCode1( HB_P_MACROPOP ); } break; diff --git a/harbour/source/compiler/harbour.y b/harbour/source/compiler/harbour.y index 6815f1a8f3..f2fd372dde 100644 --- a/harbour/source/compiler/harbour.y +++ b/harbour/source/compiler/harbour.y @@ -467,6 +467,7 @@ FieldVarAlias : FieldAlias VarAlias { hb_compExprDelete( $1 ); $$ = AliasId : IDENTIFIER { $$ = hb_compExprNewVar( $1 ); } | MacroVar { $$ = $1; } + | MacroExpr { $$ = $1; } ; AliasVar : NumAlias AliasId { $$ = hb_compExprNewAliasVar( $1, $2 ); }