Changeset 271 in dev


Ignore:
Timestamp:
Aug 10, 2007, 3:16:42 AM (17 years ago)
Author:
dai_9181
Message:
 
Location:
trunk/abdev
Files:
9 edited

Legend:

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

    r269 r271  
    141141    if( compiler.IsDll() ) bUse_ExportSection=1;
    142142    else bUse_ExportSection=0;
     143
     144
     145    // 静的リンク
     146    compiler.StaticLink( compiler.staticLibraries );
    143147
    144148
  • trunk/abdev/BasicCompiler_Common/Intermediate_Step1.cpp

    r270 r271  
    254254                compiler.staticLibraryFilePaths.push_back( temporary );
    255255
    256                 ObjectModule *pStaticLibrary = new ObjectModule();
    257                 pStaticLibrary->ReadText( temporary );
    258                 compiler.staticLibraries.push_back( pStaticLibrary );
     256                compiler.staticLibraries.push_back( new ObjectModule() );
     257                compiler.staticLibraries.back()->ReadText( temporary );
    259258
    260259                for(;;i2++){
  • trunk/abdev/BasicCompiler_Common/include/Const.h

    r254 r271  
    2626
    2727public:
    28 
    2928    CConst( const NamespaceScopes &namespaceScopes, const std::string &name, const Type &newType, _int64 i64data)
    3029        : Symbol( namespaceScopes, name )
  • trunk/abdev/BasicCompiler_Common/include/Procedure.h

    r270 r271  
    5858
    5959public:
    60     bool isTargetObjectModule;
    6160    Procedure( const NamespaceScopes &namespaceScopes, const string &name, Kind kind, bool isCdecl )
    6261        : Symbol( namespaceScopes, name )
     
    6564        , isUsing( false )
    6665        , codePos( -1 )
    67         , isTargetObjectModule( true )
    6866    {
    6967    }
    7068    Procedure()
    71         : isTargetObjectModule( true )
    7269    {
    7370    }
     
    553550    }
    554551
    555     virtual int Add( const string &typeExpression );
    556     virtual void Clear();
    557 };
     552    int Add( const string &typeExpression );
     553    void Clear();
     554    void PullOutAll()
     555    {
     556        clear();
     557    }
     558};
  • trunk/abdev/BasicCompiler_Common/include/Symbol.h

    r215 r271  
    4141
    4242public:
     43    bool isTargetObjectModule;
    4344    Symbol( const NamespaceScopes &namespaceScopes, const string &name )
    4445        : namespaceScopes( namespaceScopes )
    4546        , name( name )
     47        , isTargetObjectModule( true )
    4648    {
    4749    }
     
    5153        : namespaceScopes( symbol.namespaceScopes )
    5254        , name( symbol.name )
     55        , isTargetObjectModule( true )
    5356    {
    5457    }
    5558    Symbol()
     59        : isTargetObjectModule( true )
    5660    {
    5761    }
  • trunk/abdev/BasicCompiler_Common/include/Type.h

    r215 r271  
    182182
    183183public:
     184    bool isTargetObjectModule;
    184185    BlittableType( const Type &basicType, CClass *pClass )
    185186        : basicType( basicType )
    186187        , pClass( pClass )
     188        , isTargetObjectModule( true )
    187189    {
    188190    }
    189191    BlittableType()
     192        : isTargetObjectModule( true )
    190193    {
    191194    }
  • trunk/abdev/BasicCompiler_Common/include/Variable.h

    r206 r271  
    217217    Variables(){}
    218218    ~Variables(){
    219         clear();
    220     }
    221 
    222     void clear(){
     219        Clear();
     220    }
     221
     222    void Clear(){
    223223        for( int i=0; i<(int)this->size(); i++ ){
    224224            delete (*this)[i];
    225225        }
    226226
    227         vector<Variable *>::clear();
     227        clear();
     228    }
     229    void PullOutAll()
     230    {
     231        clear();
    228232    }
    229233
  • trunk/abdev/BasicCompiler_Common/src/Meta.cpp

    r270 r271  
    3535
    3636    // クラス
     37    meta.GetClasses().Iterator_Reset();
     38    while( meta.GetClasses().Iterator_HasNext() )
     39    {
     40        CClass *pClass = meta.GetClasses().Iterator_GetNext();
     41        pClass->isTargetObjectModule = false;
     42        this->GetClasses().Put( pClass );
     43    }
     44    meta.GetClasses().PullOutAll();
    3745
    3846    // グローバル変数
     47    BOOST_FOREACH( Variable *pVar, meta.globalVars )
     48    {
     49        pVar->isTargetObjectModule = false;
     50        this->globalVars.push_back( pVar );
     51    }
     52    meta.globalVars.PullOutAll();
    3953
    4054    // グローバル定数
     55    meta.GetGlobalConsts().Iterator_Reset();
     56    while( meta.GetGlobalConsts().Iterator_HasNext() )
     57    {
     58        CConst *pConst = meta.GetGlobalConsts().Iterator_GetNext();
     59        pConst->isTargetObjectModule = false;
     60        this->GetGlobalConsts().Put( pConst );
     61    }
     62    meta.GetGlobalConsts().PullOutAll();
    4163
    4264    // グローバル定数マクロ
     65    meta.GetGlobalConstMacros().Iterator_Reset();
     66    while( meta.GetGlobalConstMacros().Iterator_HasNext() )
     67    {
     68        ConstMacro *pConstMacro = meta.GetGlobalConstMacros().Iterator_GetNext();
     69        pConstMacro->isTargetObjectModule = false;
     70        this->GetGlobalConstMacros().Put( pConstMacro );
     71    }
     72    meta.GetGlobalConstMacros().PullOutAll();
    4373
    4474    // blittable型
     75    BOOST_FOREACH( BlittableType &blittableType, meta.blittableTypes )
     76    {
     77        blittableType.isTargetObjectModule = false;
     78        this->blittableTypes.push_back( blittableType );
     79    }
     80    meta.blittableTypes.clear();
    4581
    4682    // TypeDef
     83    BOOST_FOREACH( TypeDef &typeDef, meta.typeDefs )
     84    {
     85        typeDef.isTargetObjectModule = false;
     86        this->typeDefs.push_back( typeDef );
     87    }
     88    meta.typeDefs.clear();
    4789
    4890    // 関数ポインタ
     91    BOOST_FOREACH( ProcPointer *pProcPointer, meta.procPointers )
     92    {
     93        pProcPointer->isTargetObjectModule = false;
     94        this->procPointers.push_back( pProcPointer );
     95    }
     96    meta.procPointers.PullOutAll();
    4997}
  • trunk/abdev/BasicCompiler_Common/src/Symbol.cpp

    r208 r271  
    88
    99Symbol::Symbol( const char *fullName )
     10    : isTargetObjectModule( true )
    1011{
    1112    char areaName[VN_SIZE] = "";        //オブジェクト変数
     
    1718}
    1819Symbol::Symbol( const string &fullName )
     20    : isTargetObjectModule( true )
    1921{
    2022    char areaName[VN_SIZE] = "";        //オブジェクト変数
Note: See TracChangeset for help on using the changeset viewer.