Changeset 684 in dev for trunk/ab5.0/abdev/compiler_x86
- Timestamp:
- Jul 13, 2008, 2:23:09 AM (16 years ago)
- Location:
- trunk/ab5.0/abdev/compiler_x86
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/ab5.0/abdev/compiler_x86/Compile_ProcOp.cpp
r677 r684 433 433 compiler.codeGenerator.gotoLabelSchedules.clear(); 434 434 435 //With情報のメモリを確保 436 extern WITHINFO WithInfo; 437 WithInfo.ppName=(char **)HeapAlloc(hHeap,0,1); 438 WithInfo.pWithCp=(int *)HeapAlloc(hHeap,0,1); 439 WithInfo.num=0; 435 //With情報を初期化 436 extern WithInfos withInfos; 437 withInfos.clear(); 440 438 441 439 // 重複エラー情報をクリア … … 590 588 } 591 589 592 //With情報のメモリを解放593 for(i3=0;i3<WithInfo.num;i3++){594 compiler.errorMessenger.Output(22,"With",WithInfo.pWithCp[i3]);595 HeapDefaultFree(WithInfo.ppName[i3]);596 }597 HeapDefaultFree(WithInfo.ppName);598 HeapDefaultFree(WithInfo.pWithCp);599 600 590 //push ebp 601 591 AllLocalVarSize+=sizeof(long); -
trunk/ab5.0/abdev/compiler_x86/MakePeHdr.cpp
r645 r684 370 370 //compiler.codeGenerator.lexicalScopes.Init( compiler.codeGenerator.GetNativeCodeSize() ); 371 371 372 // 名前空間が初期化されているかをチェック 373 if( compiler.GetNamespaceSupporter().GetLivingNamespaceScopes().size() ) 374 { 375 compiler.errorMessenger.OutputFatalError(); 376 } 377 372 378 373 379 ///////////////////////////////////////////////////////////////// … … 394 400 compiler.StartGlobalAreaCompile(); 395 401 396 if( !compiler.IsDll() ){ 397 // 名前空間が初期化されているかをチェック 398 if( compiler.GetNamespaceSupporter().GetLivingNamespaceScopes().size() ){ 399 compiler.errorMessenger.OutputFatalError(); 400 } 401 402 if( !compiler.IsDll() ) 403 { 402 404 //ラベル管理オブジェクトを初期化 403 405 compiler.codeGenerator.gotoLabels.clear(); … … 406 408 compiler.codeGenerator.gotoLabelSchedules.clear(); 407 409 408 //With情報のメモリを確保 409 extern WITHINFO WithInfo; 410 WithInfo.ppName=(char **)HeapAlloc(hHeap,0,1); 411 WithInfo.pWithCp=(int *)HeapAlloc(hHeap,0,1); 412 WithInfo.num=0; 410 //With情報を初期化 411 extern WithInfos withInfos; 412 withInfos.clear(); 413 413 414 414 //Continueアドレスを初期化 … … 419 419 420 420 trace_for_sourcecodestep( "★★★ グローバル領域のコンパイルを開始" ); 421 422 423 //未完成424 //breakpoint;425 426 421 427 422 if( compiler.IsCore() ) … … 472 467 extern int GlobalOpBufferSize; 473 468 GlobalOpBufferSize = compiler.linker.GetNativeCode().GetSize(); 474 475 //With情報のメモリを解放476 for(i=0;i<WithInfo.num;i++){477 compiler.errorMessenger.Output(22,"With",WithInfo.pWithCp[i]);478 HeapDefaultFree(WithInfo.ppName[i]);479 }480 HeapDefaultFree(WithInfo.ppName);481 HeapDefaultFree(WithInfo.pWithCp);482 469 483 470 // 名前空間が正しく閉じられているかをチェック -
trunk/ab5.0/abdev/compiler_x86/Opcode.h
r673 r684 28 28 29 29 //With情報 30 struct WITHINFO{ 31 char **ppName; 32 int *pWithCp; 33 int num; 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 } 34 40 }; 41 typedef std::vector<WithInfo> WithInfos; 35 42 36 43
Note:
See TracChangeset
for help on using the changeset viewer.