Ignore:
Timestamp:
Jul 28, 2007, 1:30:22 PM (17 years ago)
Author:
dai_9181
Message:
 
File:
1 edited

Legend:

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

    r244 r246  
    422422
    423423        //Gotoラベルスケジュール
    424         extern GOTOLABELSCHEDULE *pGotoLabelSchedule;
    425         extern int GotoLabelScheduleNum;
    426         pGotoLabelSchedule=(GOTOLABELSCHEDULE *)HeapAlloc(hHeap,0,1);
    427         GotoLabelScheduleNum=0;
     424        compiler.codeGenerator.gotoLabelSchedules.clear();
    428425
    429426        //With情報のメモリを確保
     
    473470        HeapDefaultFree(pLabelNames);
    474471
    475         //Goto未知ラベルスケジュールを解放
    476         for(i=0;i<GotoLabelScheduleNum;i++){
    477             if(pGotoLabelSchedule[i].pName){
    478                 SetError(6,pGotoLabelSchedule[i].pName,pGotoLabelSchedule[i].now_cp);
    479                 HeapDefaultFree(pGotoLabelSchedule[i].pName);
     472        //Goto未知ラベルスケジュールが存在したらエラーにする
     473        BOOST_FOREACH( const GotoLabelSchedule &gotoLabelSchedule, compiler.codeGenerator.gotoLabelSchedules )
     474        {
     475            if(gotoLabelSchedule.GetName().size()>0){
     476                SetError(6,gotoLabelSchedule.GetName(),gotoLabelSchedule.GetSourceCodePos());
    480477            }
    481478            else{
    482                 sprintf(temporary,"%d",pGotoLabelSchedule[i].line);
    483                 SetError(6,temporary,pGotoLabelSchedule[i].now_cp);
     479                sprintf(temporary,"%d",gotoLabelSchedule.GetLineNum());
     480                SetError(6,temporary,gotoLabelSchedule.GetSourceCodePos());
    484481            }
    485482        }
    486         HeapDefaultFree(pGotoLabelSchedule);
    487483
    488484
Note: See TracChangeset for help on using the changeset viewer.