Changeset 685 in dev
- Timestamp:
- Jul 13, 2008, 2:29:17 AM (16 years ago)
- Location:
- trunk/ab5.0/abdev/compiler_x64
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/ab5.0/abdev/compiler_x64/Compile_ProcOp.cpp
r677 r685 258 258 compiler.codeGenerator.gotoLabelSchedules.clear(); 259 259 260 //With情報のメモリを確保 261 extern WITHINFO WithInfo; 262 WithInfo.ppName=(char **)HeapAlloc(hHeap,0,1); 263 WithInfo.pWithCp=(int *)HeapAlloc(hHeap,0,1); 264 WithInfo.num=0; 260 //With情報を初期化 261 extern WithInfos withInfos; 262 withInfos.clear(); 265 263 266 264 //Continueアドレスを初期化 … … 567 565 Exception::InspectTryScope(); 568 566 569 //With情報のメモリを解放570 for(i3=0;i3<WithInfo.num;i3++){571 compiler.errorMessenger.Output(22,"With",WithInfo.pWithCp[i3]);572 HeapDefaultFree(WithInfo.ppName[i3]);573 }574 HeapDefaultFree(WithInfo.ppName);575 HeapDefaultFree(WithInfo.pWithCp);576 577 567 //ローカルオブジェクト(レキシカルスコープレベル=0)の解放処理 578 568 compiler.codeGenerator.lexicalScopes.CallDestructorsOfScopeEnd(); -
trunk/ab5.0/abdev/compiler_x64/MakePeHdr.cpp
r646 r685 330 330 compiler.codeGenerator.lexicalScopes.Init(0); 331 331 332 // 名前空間が初期化されているかをチェック 333 if( compiler.GetNamespaceSupporter().GetLivingNamespaceScopes().size() ) 334 { 335 compiler.errorMessenger.OutputFatalError(); 336 } 337 332 338 333 339 ///////////////////////////////////////////////////////////////// … … 354 360 compiler.StartGlobalAreaCompile(); 355 361 356 if( !compiler.IsDll() ){ 357 // 名前空間が初期化されているかをチェック 358 if( compiler.GetNamespaceSupporter().GetLivingNamespaceScopes().size() ){ 359 compiler.errorMessenger.OutputFatalError(); 360 } 361 362 if( !compiler.IsDll() ) 363 { 362 364 //ラベル管理オブジェクトを初期化 363 365 compiler.codeGenerator.gotoLabels.clear(); … … 366 368 compiler.codeGenerator.gotoLabelSchedules.clear(); 367 369 368 //With情報のメモリを確保 369 extern WITHINFO WithInfo; 370 WithInfo.ppName=(char **)HeapAlloc(hHeap,0,1); 371 WithInfo.pWithCp=(int *)HeapAlloc(hHeap,0,1); 372 WithInfo.num=0; 370 //With情報を初期化 371 extern WithInfos withInfos; 372 withInfos.clear(); 373 373 374 374 //Continueアドレスを初期化 … … 382 382 383 383 trace_for_sourcecodestep( "★★★ グローバル領域のコンパイルを開始" ); 384 385 386 //未完成387 //breakpoint;388 384 389 385 if( compiler.IsCore() ) … … 437 433 extern int GlobalOpBufferSize; 438 434 GlobalOpBufferSize = compiler.linker.GetNativeCode().GetSize(); 439 440 //With情報のメモリを解放441 for(i=0;i<WithInfo.num;i++){442 compiler.errorMessenger.Output(22,"With",WithInfo.pWithCp[i]);443 HeapDefaultFree(WithInfo.ppName[i]);444 }445 HeapDefaultFree(WithInfo.ppName);446 HeapDefaultFree(WithInfo.pWithCp);447 435 448 436 // 名前空間が正しく閉じられているかをチェック -
trunk/ab5.0/abdev/compiler_x64/Opcode.h
r603 r685 28 28 29 29 //With情報 30 struct WITHINFO{ 31 char **ppName; 32 int *pWithCp; 33 int num; 34 }; 30 struct WithInfo 31 { 32 std::string name; 33 int sourceCodePos; 34 35 WithInfo( const std::string &name, int sourceCodePos ) 36 : name( name ) 37 , sourceCodePos( sourceCodePos ) 38 { 39 } 40 }; 41 typedef std::vector<WithInfo> WithInfos; 35 42 36 43
Note:
See TracChangeset
for help on using the changeset viewer.