Changeset 309 in dev for trunk/abdev/BasicCompiler64/Compile_ProcOp.cpp
- Timestamp:
- Aug 29, 2007, 9:19:17 AM (17 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/abdev/BasicCompiler64/Compile_ProcOp.cpp
r308 r309 146 146 147 147 Compile_AddGlobalRootsForGc(); 148 } 149 else if( userProc.GetName() == compiler.globalAreaProcName ){ 150 //////////////////////////////////////// 151 // グローバル領域をコンパイル 152 //////////////////////////////////////// 153 154 const UserProc *pBackUserProc = &UserProc::CompilingUserProc(); 155 UserProc::CompileStartForGlobalArea(); 156 157 int BackCp = cp; 158 cp=-1; 159 160 //クラスに属する静的メンバを定義 161 compiler.GetObjectModule().meta.GetClasses().InitStaticMember(); 162 163 //グローバル実行領域をコンパイル開始 164 CompileBuffer(0,0); 165 166 //Goto未知ラベルスケジュールが存在したらエラーにする 167 BOOST_FOREACH( const GotoLabelSchedule *pGotoLabelSchedule, compiler.codeGenerator.gotoLabelSchedules ) 168 { 169 if(pGotoLabelSchedule->GetName().size()>0){ 170 SetError(6,pGotoLabelSchedule->GetName(),pGotoLabelSchedule->GetSourceCodePos()); 171 } 172 else{ 173 char temporary[255]; 174 sprintf(temporary,"%d",pGotoLabelSchedule->GetLineNum()); 175 SetError(6,temporary,pGotoLabelSchedule->GetSourceCodePos()); 176 } 177 } 178 179 UserProc::CompileStartForUserProc( pBackUserProc ); 180 cp=BackCp; 148 181 } 149 182 else{ … … 691 724 else SetError(300,NULL,cp); 692 725 } 726 else 727 { 728 // グローバル領域を一番初めにコンパイルする 729 extern const UserProc *pSub_System_GlobalArea; 730 CompileBufferInProcedure( *pSub_System_GlobalArea ); 731 } 693 732 694 733 //_System_TypeBase_InitializeUserTypesは一番最後にコンパイル
Note:
See TracChangeset
for help on using the changeset viewer.