Changeset 281 in dev for trunk


Ignore:
Timestamp:
Aug 14, 2007, 8:58:57 AM (17 years ago)
Author:
dai_9181
Message:
 
Location:
trunk/abdev
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/abdev/BasicCompiler32/MakePeHdr.cpp

    r280 r281  
    106106void DebugVariable(void){
    107107    char temporary[255];
    108     sprintf(temporary,"_DebugSys_dwThreadID[255]%c%cDWord",1,ESC_AS);
    109     OpcodeDim(temporary,DIMFLAG_INITDEBUGVAR);
    110     sprintf(temporary,"_DebugSys_ProcNum[255]%c%cDWord",1,ESC_AS);
    111     OpcodeDim(temporary,DIMFLAG_INITDEBUGVAR);
    112     sprintf(temporary,"_DebugSys_lplpObp[255]%c%c*ULONG_PTR",1,ESC_AS);
    113     OpcodeDim(temporary,DIMFLAG_INITDEBUGVAR);
    114     sprintf(temporary,"_DebugSys_lplpSpBase[255]%c%c*ULONG_PTR",1,ESC_AS);
    115     OpcodeDim(temporary,DIMFLAG_INITDEBUGVAR);
     108    if( compiler.GetObjectModule().meta.GetGlobalVars().Find( Symbol( "_DebugSys_dwThreadID" ) ) == NULL )
     109    {
     110        // 未定義の場合は定義する
     111        sprintf(temporary,"_DebugSys_dwThreadID[255]%c%cDWord",1,ESC_AS);
     112        OpcodeDim(temporary,DIMFLAG_INITDEBUGVAR);
     113        sprintf(temporary,"_DebugSys_ProcNum[255]%c%cDWord",1,ESC_AS);
     114        OpcodeDim(temporary,DIMFLAG_INITDEBUGVAR);
     115        sprintf(temporary,"_DebugSys_lplpObp[255]%c%c*ULONG_PTR",1,ESC_AS);
     116        OpcodeDim(temporary,DIMFLAG_INITDEBUGVAR);
     117        sprintf(temporary,"_DebugSys_lplpSpBase[255]%c%c*ULONG_PTR",1,ESC_AS);
     118        OpcodeDim(temporary,DIMFLAG_INITDEBUGVAR);
     119    }
    116120}
    117121
  • trunk/abdev/BasicCompiler_Common/include/Source.h

    r280 r281  
    172172
    173173private:
    174     void Realloc( int newLength ){
     174    void Realloc( int newLength )
     175    {
     176        bool isEqualBasbuf = false;
     177        extern char *basbuf;
     178        if( basbuf == buffer )
     179        {
     180            isEqualBasbuf = true;
     181        }
     182
    175183        buffer = (char *)realloc( buffer, newLength + 255 );
    176184
    177185        length = newLength;
    178186
    179         extern char *basbuf;
    180         basbuf = buffer + 2;
     187        if( isEqualBasbuf )
     188        {
     189            basbuf = buffer + 2;
     190        }
    181191    }
    182192
  • trunk/abdev/BasicCompiler_Common/src/Source.cpp

    r280 r281  
    815815
    816816    // basic.sbpをインクルード
    817     const char *headCode = "#include <basic.sbp>\n";
    818     //const char *headCode = "\n";
     817    //const char *headCode = "#include <basic.sbp>\n";
     818    const char *headCode = "\n";
    819819    Realloc( length + lstrlen(headCode) );
    820820    Text::SlideString( buffer, lstrlen(headCode) );
Note: See TracChangeset for help on using the changeset viewer.