Ignore:
Timestamp:
Jul 31, 2007, 4:30:31 AM (17 years ago)
Author:
dai_9181
Message:
 
File:
1 edited

Legend:

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

    r242 r254  
    55#include <jenga/include/smoothie/Smoothie.h>
    66
    7 #include <LexicalScopingImpl.h>
    87#include <Class.h>
    98#include <Compiler.h>
     
    334333
    335334    //レキシカルスコープ情報を初期化
    336     GetLexicalScopes().Init(obp);
     335    compiler.codeGenerator.lexicalScopes.Init(obp);
    337336
    338337
     
    369368
    370369        //Gotoラベルスケジュール
    371         extern GOTOLABELSCHEDULE *pGotoLabelSchedule;
    372         extern int GotoLabelScheduleNum;
    373         pGotoLabelSchedule=(GOTOLABELSCHEDULE *)HeapAlloc(hHeap,0,1);
    374         GotoLabelScheduleNum=0;
     370        compiler.codeGenerator.gotoLabelSchedules.clear();
    375371
    376372        //With情報のメモリを確保
     
    424420        HeapDefaultFree(pLabelNames);
    425421
    426         //Goto未知ラベルスケジュールを解放
    427         for(i=0;i<GotoLabelScheduleNum;i++){
    428             if(pGotoLabelSchedule[i].pName){
    429                 SetError(6,pGotoLabelSchedule[i].pName,pGotoLabelSchedule[i].now_cp);
    430                 HeapDefaultFree(pGotoLabelSchedule[i].pName);
     422        //Goto未知ラベルスケジュールが存在したらエラーにする
     423        BOOST_FOREACH( const GotoLabelSchedule *pGotoLabelSchedule, compiler.codeGenerator.gotoLabelSchedules )
     424        {
     425            if(pGotoLabelSchedule->GetName().size()>0){
     426                SetError(6,pGotoLabelSchedule->GetName(),pGotoLabelSchedule->GetSourceCodePos());
    431427            }
    432428            else{
    433                 sprintf(temporary,"%d",pGotoLabelSchedule[i].line);
    434                 SetError(6,temporary,pGotoLabelSchedule[i].now_cp);
     429                sprintf(temporary,"%d",pGotoLabelSchedule->GetLineNum());
     430                SetError(6,temporary,pGotoLabelSchedule->GetSourceCodePos());
    435431            }
    436432        }
    437         HeapDefaultFree(pGotoLabelSchedule);
    438433
    439434
Note: See TracChangeset for help on using the changeset viewer.