Changeset 275 in dev


Ignore:
Timestamp:
Aug 11, 2007, 4:23:18 PM (17 years ago)
Author:
dai_9181
Message:
 
Location:
trunk/abdev
Files:
6 edited

Legend:

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

    r272 r275  
    311311        Parameter &param = *pUserProc->RealParams()[i3];
    312312
    313         Variable *pVar = new Variable( param.GetVarName(), param, false, param.IsRef(), "" );
     313        Variable *pVar = new Variable( param.GetVarName(), param, false, param.IsRef(), "", false );
    314314
    315315        if( param.IsArray() ){
  • trunk/abdev/BasicCompiler32/Compile_Var.cpp

    r273 r275  
    10601060        bool isConst = ( dwFlags & DIMFLAG_CONST ) ? true:false;
    10611061
    1062         Variable *pVar = new Variable( VarName, type, isConst, false, ConstractParameter );
     1062        Variable *pVar = new Variable( VarName, type, isConst, false, ConstractParameter, false );
    10631063
    10641064        if( subscripts.size() > 0 ){
  • trunk/abdev/BasicCompiler_Common/VariableOpe.cpp

    r273 r275  
    979979    bool isConst = ( dwFlag & DIMFLAG_CONST ) ? true:false;
    980980
    981     Variable *pVar = new Variable( compiler.GetNamespaceSupporter().GetLivingNamespaceScopes(), name, type, isConst, false, ConstractParameter );
     981    Variable *pVar = new Variable(
     982        compiler.GetNamespaceSupporter().GetLivingNamespaceScopes(),
     983        name,
     984        type,
     985        isConst,
     986        false,
     987        ConstractParameter,
     988        ( InitBuf[0] != 0 || dwFlag == DIMFLAG_INITDEBUGVAR )
     989    );
    982990
    983991    if( subscripts.size() > 0 ){
     
    9951003
    9961004    // 変数を追加
    997     compiler.GetObjectModule().meta.GetGlobalVars().Add(
    998         pVar,
    999         ( InitBuf[0] != 0 || dwFlag == DIMFLAG_INITDEBUGVAR )
    1000     );
     1005    compiler.GetObjectModule().meta.GetGlobalVars().Add( pVar );
    10011006
    10021007    if(InitBuf[0]){
  • trunk/abdev/BasicCompiler_Common/include/Variable.h

    r273 r275  
    1515
    1616    bool isParameter;
     17    bool hasInitData;
    1718
    1819    //コンストラクタ用パラメータ
     
    4748        ar & BOOST_SERIALIZATION_NVP( subscripts );
    4849        ar & BOOST_SERIALIZATION_NVP( isParameter );
     50        ar & BOOST_SERIALIZATION_NVP( hasInitData );
    4951        ar & BOOST_SERIALIZATION_NVP( paramStrForConstructor );
    5052        ar & BOOST_SERIALIZATION_NVP( offset );
     
    5557
    5658public:
    57     Variable( const string &name, const Type &type, bool isConst, bool isRef, const std::string &paramStrForConstructor )
     59    Variable( const string &name, const Type &type, bool isConst, bool isRef, const std::string &paramStrForConstructor, bool hasInitData )
    5860        : Symbol( name )
    5961        , type( type )
     
    6365        , isParameter( false)
    6466        , paramStrForConstructor( paramStrForConstructor )
    65     {
    66     }
    67     Variable( const NamespaceScopes &namespaceScopes, const string &name, const Type &type, bool isConst, bool isRef, const std::string &paramStrForConstructor )
     67        , hasInitData( hasInitData )
     68    {
     69    }
     70    Variable( const NamespaceScopes &namespaceScopes, const string &name, const Type &type, bool isConst, bool isRef, const std::string &paramStrForConstructor, bool hasInitData )
    6871        : Symbol( namespaceScopes, name )
    6972        , type( type )
     
    7376        , isParameter( false)
    7477        , paramStrForConstructor( paramStrForConstructor )
     78        , hasInitData( hasInitData )
    7579    {
    7680    }
     
    8488        , isParameter( false )
    8589        , paramStrForConstructor( var.paramStrForConstructor )
     90        , hasInitData( var.hasInitData )
    8691    {
    8792    }
     
    131136    {
    132137        return isParameter;
     138    }
     139    bool HasInitData() const
     140    {
     141        return hasInitData;
    133142    }
    134143
     
    245254    const Variable *Find( const Symbol &symbol )const;
    246255
    247     void Add( Variable *pVar, bool isInitArea );
     256    void Add( Variable *pVar );
    248257
    249258    int GetAllSize() const
  • trunk/abdev/BasicCompiler_Common/src/Meta.cpp

    r273 r275  
    8484    {
    8585        pVar->isTargetObjectModule = false;
    86         this->globalVars.push_back( pVar );
     86        this->globalVars.Add( pVar );
    8787    }
    8888    meta.globalVars.PullOutAll();
  • trunk/abdev/BasicCompiler_Common/src/Variable.cpp

    r273 r275  
    7474}
    7575
    76 void Variables::Add( Variable *pVar, bool isInitArea )
     76void Variables::Add( Variable *pVar )
    7777{
    7878    int alignment = 0;
     
    8181    }
    8282
    83     if( isInitArea ){
     83    if( pVar->HasInitData() ){
    8484        //初期バッファがあるとき
    8585
Note: See TracChangeset for help on using the changeset viewer.