Changeset 272 in dev for trunk/abdev/BasicCompiler32


Ignore:
Timestamp:
Aug 10, 2007, 9:20:45 PM (17 years ago)
Author:
dai_9181
Message:
 
Location:
trunk/abdev/BasicCompiler32
Files:
2 edited

Legend:

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

    r266 r272  
    791791    }
    792792
    793     //_System_TypeBase_InitializeUserTypesは最後のほうでコンパイル
    794     pSubStaticMethod_System_TypeBase_InitializeUserTypes->KillCompileStatus();
    795     CompileBufferInProcedure( *pSubStaticMethod_System_TypeBase_InitializeUserTypes );
    796 
    797     if( IsNeedProcCompile() ){
    798         //プロシージャコンパイルによって、プロシージャコンパイルが必要になる場合
    799 
    800         compiler.GetObjectModule().meta.GetUserProcs().Iterator_Reset();
    801         while( compiler.GetObjectModule().meta.GetUserProcs().Iterator_HasNext() )
    802         {
    803             UserProc *pUserProc = compiler.GetObjectModule().meta.GetUserProcs().Iterator_GetNext();
    804             CompileBufferInProcedure( *pUserProc );
    805         }
    806     }
    807 
    808     //_System_InitStaticLocalVariablesは一番最後にコンパイル
    809     pSub_System_InitStaticLocalVariables->KillCompileStatus();
    810     CompileBufferInProcedure( *pSub_System_InitStaticLocalVariables );
    811 
    812     //_System_Call_Destructor_of_GlobalObjectは一番最後にコンパイル
    813     pSub_System_Call_Destructor_of_GlobalObject->KillCompileStatus();
    814     CompileBufferInProcedure( *pSub_System_Call_Destructor_of_GlobalObject );
     793    if( !compiler.IsStaticLibrary() )
     794    {
     795        //_System_TypeBase_InitializeUserTypesは最後のほうでコンパイル
     796        pSubStaticMethod_System_TypeBase_InitializeUserTypes->KillCompileStatus();
     797        CompileBufferInProcedure( *pSubStaticMethod_System_TypeBase_InitializeUserTypes );
     798
     799        if( IsNeedProcCompile() ){
     800            //プロシージャコンパイルによって、プロシージャコンパイルが必要になる場合
     801
     802            compiler.GetObjectModule().meta.GetUserProcs().Iterator_Reset();
     803            while( compiler.GetObjectModule().meta.GetUserProcs().Iterator_HasNext() )
     804            {
     805                UserProc *pUserProc = compiler.GetObjectModule().meta.GetUserProcs().Iterator_GetNext();
     806                CompileBufferInProcedure( *pUserProc );
     807            }
     808        }
     809
     810        //_System_InitStaticLocalVariablesは一番最後にコンパイル
     811        pSub_System_InitStaticLocalVariables->KillCompileStatus();
     812        CompileBufferInProcedure( *pSub_System_InitStaticLocalVariables );
     813
     814        //_System_Call_Destructor_of_GlobalObjectは一番最後にコンパイル
     815        pSub_System_Call_Destructor_of_GlobalObject->KillCompileStatus();
     816        CompileBufferInProcedure( *pSub_System_Call_Destructor_of_GlobalObject );
     817    }
    815818}
  • trunk/abdev/BasicCompiler32/MakePeHdr.cpp

    r271 r272  
    174174    HeapDefaultFree(temp);
    175175
    176     //関数ポインタ情報を初期化
    177     compiler.GetObjectModule().meta.GetProcPointers().clear();
    178 
    179176    // 名前空間情報を取得
    180177    NamespaceSupporter::CollectNamespaces(
     
    189186
    190187    //TypeDef情報を初期化
    191     compiler.GetObjectModule().meta.GetTypeDefs().Init();
     188    compiler.GetObjectModule().meta.GetTypeDefs().CollectTypeDefs();
    192189
    193190    //定数情報を取得
Note: See TracChangeset for help on using the changeset viewer.