2006-09-13 14:00 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)

* harbour/source/compiler/genc.c
  * harbour/source/compiler/gencli.c
  * harbour/source/compiler/harbour.c
    ! fixed number of compiled functions shown in compilation status
    ! added workaround for GPF in empty #pragma begindump/enddump
      statement
This commit is contained in:
Przemyslaw Czerpak
2006-09-13 12:02:57 +00:00
parent 77d31074e8
commit 0e68f162e7
4 changed files with 17 additions and 10 deletions

View File

@@ -8,6 +8,14 @@
2002-12-01 13:30 UTC+0100 Foo Bar <foo.bar@foobar.org>
*/
* harbour/include/hbvm.h
* harbour/source/vm/hvm.c
* harbour/source/vm/itemapi.c
+ added __enumStop() message for "FOR EACH" overloading
It's guarantied that it will be sent to base item if it is an
object with such message when FOR EACH ... NEXT will finish its job
even if it will be interrupted by EXIT or RETURN to allow base object
clear resources allocated for FOR EACH enumerator. The BREAK exception
is not supported now. This is sth what I'd like to discuss soon when
I'll add destructors. Please think now if we should allow to execute
destructors and other cleanup user code when we are returning to

View File

@@ -95,9 +95,6 @@ void hb_compGenCCode( PHB_FNAME pFileName ) /* generates the C language ou
hb_xfree( szHrb );
}
if( ! hb_comp_bStartProc )
hb_comp_iFunctionCnt--;
if( hb_comp_iFunctionCnt )
{
fprintf( yyc, "#include \"hbvmpub.h\"\n" );
@@ -304,13 +301,16 @@ void hb_compGenCCode( PHB_FNAME pFileName ) /* generates the C language ou
pInline = hb_comp_inlines.pFirst;
while( pInline )
{
fprintf( yyc, "#line %i \"%s\"\n", pInline->iLine, pInline->szFileName );
if( pInline->szName )
if( pInline->pCode )
{
fprintf( yyc, "HB_FUNC_STATIC( %s )\n", pInline->szName );
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 );
}
fprintf( yyc, "%s", pInline->pCode );
pInline = pInline->pNext;
}
}

View File

@@ -96,8 +96,6 @@ void hb_compGenILCode( PHB_FNAME pFileName ) /* generates the IL output */
HB_VER_MINOR, HB_VER_REVISION, HB_VER_LEX );
fprintf( yyc, "// Generated .NET IL source code\n\n" );
if( ! hb_comp_bStartProc )
hb_comp_iFunctionCnt--;
if( hb_comp_iFunctionCnt )
{
fprintf( yyc, ".assembly extern mscorlib{}\n" );

View File

@@ -4803,6 +4803,7 @@ int hb_compCompile( char * szPrg, int argc, char * argv[], BOOL bSingleFile )
/* skip first non-startup procedure */
hb_compOptimizeFrames( *pFunPtr );
pFunPtr = &(*pFunPtr)->pNext;
hb_comp_iFunctionCnt--;
}
while( *pFunPtr )