Ignore:
Timestamp:
Jun 15, 2008, 11:59:46 PM (16 years ago)
Author:
dai_9181
Message:

・デバッグトレース時、グローバル領域の終端行でステップインまたはステップアウトしたときにデバッグ情報の取得に失敗して強制終了してしまう不具合を修正。
・グローバル領域のデバッグ実行ができなくなっている不具合を修正。

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/ab5.0/abdev/compiler_x86/Compile_ProcOp.cpp

    r637 r641  
    2424        }
    2525
    26         const UserProc *pBackUserProc;
    27         pBackUserProc = &compiler.GetCompilingUserProc();
    28         compiler.StartGlobalAreaCompile();
    29 
    3026        int BackCp;
    3127        BackCp=cp;
     
    5248        GetGlobalDataForDll();
    5349
    54         compiler.SetCompilingUserProc( pBackUserProc );
    5550        cp=BackCp;
    5651
     
    8176        compiler.codeGenerator.op_ret();
    8277    }
    83     else if( userProc.GetName() == "_System_Call_Destructor_of_GlobalObject" ){
    84 
    85         const UserProc *pBackUserProc;
    86         pBackUserProc = &compiler.GetCompilingUserProc();
    87         compiler.StartGlobalAreaCompile();
    88 
     78    else if( userProc.GetName() == "_System_Call_Destructor_of_GlobalObject" )
     79    {
    8980        compiler.codeGenerator.lexicalScopes.CallDestructorsOfScopeEnd();
    9081
    9182        compiler.SetCompilingUserProc( pBackUserProc );
    92 
    9383
    9484        //ret
     
    213203    else if( userProc.GetName() == "RegisterGlobalRoots"
    214204        && userProc.HasParentClass()
    215         && userProc.GetParentClass().GetName() == "_System_CGarbageCollection" ){
    216 
    217             Compile_AddGlobalRootsForGc();
    218     }
    219     else if( userProc.GetName() == compiler.globalAreaProcName ){
     205        && userProc.GetParentClass().GetName() == "_System_CGarbageCollection" )
     206    {
     207        Compile_AddGlobalRootsForGc();
     208    }
     209    else if( userProc.GetName() == compiler.globalAreaProcName )
     210    {
    220211        ////////////////////////////////////////
    221212        // グローバル領域をコンパイル
     
    223214
    224215        UserProc::pGlobalProc = &userProc;
    225 
    226         const UserProc *pBackUserProc = &compiler.GetCompilingUserProc();
    227         compiler.StartGlobalAreaCompile();
    228216
    229217        int BackCp = cp;
     
    251239        }
    252240
    253         compiler.SetCompilingUserProc( pBackUserProc );
    254241        cp=BackCp;
    255242    }
     
    293280    pUserProc->CompleteCompile();
    294281
    295     extern BOOL bSystemProc;
    296     if(memcmp(pUserProc->GetName().c_str(),"_System_",8)==0) bSystemProc=1;
    297     else bSystemProc=0;
    298 
    299282    extern BOOL bDebugSupportProc;
    300283    if(memcmp(pUserProc->GetName().c_str(),"_DebugSys_",10)==0)
     
    316299    compiler.StartProcedureCompile( pUserProc );
    317300
    318     if(pUserProc->IsSystem()){
     301    if(pUserProc->IsAutoGenerationSystem()){
    319302        ////////////////////
    320303        // 特殊関数
Note: See TracChangeset for help on using the changeset viewer.