2007-06-11 11:30 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)

* harbour/source/compiler/genc.c
    * allow to use #pragma begindump / enddump in .prg files without
      any .prg code

  * harbour/source/vm/hvm.c
    ! fixed assign in overloaded []
This commit is contained in:
Przemyslaw Czerpak
2007-06-11 09:32:03 +00:00
parent d9ace58675
commit f86b9acb5d
3 changed files with 36 additions and 5 deletions

View File

@@ -8,6 +8,14 @@
2002-12-01 13:30 UTC+0100 Foo Bar <foo.bar@foobar.org>
*/
2007-06-11 11:30 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/compiler/genc.c
* allow to use #pragma begindump / enddump in .prg files without
any .prg code
* harbour/source/vm/hvm.c
! fixed assign in overloaded []
2007-06-08 14:45 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/contrib/rdd_ads/ads1.c
! generate valid RT errors in some methods so NETERR() can be

View File

@@ -332,7 +332,30 @@ void hb_compGenCCode( HB_COMP_DECL, PHB_FNAME pFileName ) /* generates the
}
else
{
fprintf( yyc, "/* Empty source file */\n\n" );
pInline = HB_COMP_PARAM->inlines.pFirst;
while( pInline )
{
if( pInline->pCode )
{
if( !bIsInlineFunction )
{
fprintf( yyc, "#include \"hbvmpub.h\"\n" );
if( HB_COMP_PARAM->iGenCOutput != HB_COMPGENC_COMPACT )
fprintf( yyc, "#include \"hbpcode.h\"\n" );
fprintf( yyc, "#include \"hbinit.h\"\n" );
if( HB_COMP_PARAM->iGenCOutput == HB_COMPGENC_REALCODE )
fprintf( yyc, "#include \"hbxvm.h\"\n" );
bIsInlineFunction = TRUE;
}
fprintf( yyc, "#line %i \"%s\"\n", pInline->iLine, pInline->szFileName );
if( pInline->szName )
fprintf( yyc, "HB_FUNC_STATIC( %s )\n", pInline->szName );
fprintf( yyc, "%s", pInline->pCode );
}
pInline = pInline->pNext;
}
if( !bIsInlineFunction )
fprintf( yyc, "\n/* Empty source file */\n" );
}
fclose( yyc );

View File

@@ -4309,7 +4309,7 @@ static void hb_vmArrayPop( void )
if( HB_IS_ARRAY( pArray ) )
{
if( HB_IS_OBJECT( pArray ) &&
hb_objOperatorCall( HB_OO_OP_ARRAYINDEX, pArray, pArray, pIndex, pValue ) )
hb_objOperatorCall( HB_OO_OP_ARRAYINDEX, pValue, pArray, pIndex, pValue ) )
{
hb_stackPop();
hb_stackPop();
@@ -4358,7 +4358,7 @@ static void hb_vmArrayPop( void )
3, pArray, pIndex, pValue );
}
/* #endif */
else if( hb_objOperatorCall( HB_OO_OP_ARRAYINDEX, pArray, pArray, pIndex, pValue ) )
else if( hb_objOperatorCall( HB_OO_OP_ARRAYINDEX, pValue, pArray, pIndex, pValue ) )
{
hb_stackPop();
hb_stackPop();
@@ -8841,7 +8841,7 @@ static void hb_vmArrayItemPop( ULONG ulIndex )
if( HB_IS_OBJECT( pArray ) && hb_objHasOperator( pArray, HB_OO_OP_ARRAYINDEX ) )
{
hb_vmPushNumInt( ulIndex );
hb_objOperatorCall( HB_OO_OP_ARRAYINDEX, pArray, pArray,
hb_objOperatorCall( HB_OO_OP_ARRAYINDEX, pValue, pArray,
hb_stackItemFromTop( -1 ), pValue );
hb_stackPop();
hb_stackPop();
@@ -8914,7 +8914,7 @@ static void hb_vmArrayItemPop( ULONG ulIndex )
else if( hb_objHasOperator( pArray, HB_OO_OP_ARRAYINDEX ) )
{
hb_vmPushNumInt( ulIndex );
hb_objOperatorCall( HB_OO_OP_ARRAYINDEX, pArray, pArray,
hb_objOperatorCall( HB_OO_OP_ARRAYINDEX, pValue, pArray,
hb_stackItemFromTop( -1 ), pValue );
hb_stackPop();
hb_stackPop();