Changeset 459 in dev for trunk/ab5.0
- Timestamp:
- Mar 23, 2008, 10:38:38 AM (17 years ago)
- Location:
- trunk/ab5.0/abdev
- Files:
-
- 11 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/ab5.0/abdev/BasicCompiler32/Compile_CallProc.cpp
r435 r459 24 24 } 25 25 26 bool Opcode_CallProcPtr( const char *variable, const char *lpszParms,ProcPointer *pProcPointer){ 27 28 extern BOOL bDebugCompile; 26 bool Opcode_CallProcPtr( const char *variable, const char *lpszParms,ProcPointer *pProcPointer) 27 { 29 28 extern BOOL bDebugSupportProc; 30 if(bDebugCompile&&bDebugSupportProc==0) 29 if( compiler.IsDebug() && bDebugSupportProc == 0 ) 30 { 31 31 Call_DebugSys_SaveContext(); 32 } 32 33 33 34 … … 433 434 } 434 435 435 bool Opcode_CallDllProc( const char *lpszParms, const DllProc *pDllProc ){ 436 437 extern BOOL bDebugCompile; 436 bool Opcode_CallDllProc( const char *lpszParms, const DllProc *pDllProc ) 437 { 438 438 extern BOOL bDebugSupportProc; 439 if(bDebugCompile&&bDebugSupportProc==0&& pDllProc->IsEqualSymbol( "DebugBreak" ) ){ 439 if( compiler.IsDebug() && bDebugSupportProc==0 && pDllProc->IsEqualSymbol( "DebugBreak" ) ) 440 { 440 441 Call_DebugSys_SaveContext(); 441 442 } … … 487 488 void Opcode_CallDelegate( const Delegate &dg, const char *methodPtrValueStr, const char *objPtrValueStr, const char *params ) 488 489 { 489 extern BOOL bDebugCompile;490 490 extern BOOL bDebugSupportProc; 491 if(bDebugCompile&&bDebugSupportProc==0) 491 if( compiler.IsDebug() && bDebugSupportProc == 0 ) 492 { 492 493 Call_DebugSys_SaveContext(); 494 } 493 495 494 496 -
trunk/ab5.0/abdev/BasicCompiler32/Compile_ProcOp.cpp
r402 r459 42 42 cp=-1; 43 43 44 extern BOOL bDebugCompile;45 if(bDebugCompile){44 if( compiler.IsDebug() ) 45 { 46 46 //デバッグ用の変数を定義 47 47 DebugVariable(); … … 283 283 extern char *basbuf; 284 284 extern HANDLE hHeap; 285 extern BOOL bDebugCompile;286 285 int i3,i4,BaseOffset; 287 286 char temporary[VN_SIZE]; … … 301 300 302 301 extern BOOL bDebugSupportProc; 303 if(memcmp(pUserProc->GetName().c_str(),"_DebugSys_",10)==0){ 304 if(!bDebugCompile){ 302 if(memcmp(pUserProc->GetName().c_str(),"_DebugSys_",10)==0) 303 { 304 if( !compiler.IsDebug() ) 305 { 305 306 return; 306 307 } … … 476 477 477 478 const PertialSchedule *pEspOffsetPertialSchedule = NULL; 478 if(bDebugCompile&&bDebugSupportProc==0){ 479 if( compiler.IsDebug() && bDebugSupportProc == 0 ) 480 { 479 481 //push dword ptr[ebp+(AllLocalVarSize-BaseOffset)](スケジュール) 480 482 pEspOffsetPertialSchedule = compiler.codeGenerator.op_push_M( REG_EBP, 0, Schedule::None, true ); … … 633 635 compiler.codeGenerator.ResolveExitSubSchedule(); 634 636 635 if(bDebugCompile&&bDebugSupportProc==0){ 637 if( compiler.IsDebug() && bDebugSupportProc == 0 ) 638 { 636 639 compiler.codeGenerator.opfix( pEspOffsetPertialSchedule, AllLocalVarSize-BaseOffset-sizeof(long) ); 637 640 … … 739 742 compiler.codeGenerator.op_pop(REG_EBX); 740 743 741 if(bDebugCompile){ 744 if( compiler.IsDebug() ) 745 { 742 746 //cmp esp,ebp 743 747 compiler.codeGenerator.op_cmp_RR( REG_ESP, REG_EBP ); -
trunk/ab5.0/abdev/BasicCompiler32/MakePeHdr.cpp
r451 r459 102 102 extern HWND hOwnerEditor; 103 103 extern HANDLE hHeap; 104 extern BOOL bDebugCompile;105 104 extern DWORD ImageBase; 106 105 extern char *basbuf; … … 130 129 ////////////////// 131 130 // データテーブル 132 if( bDebugCompile){131 if( compiler.IsDebug() ){ 133 132 compiler.GetObjectModule().dataTable.Add( (long)0x00000002 ); 134 133 } … … 401 400 compiler.codeGenerator.op_push(REG_EBP); 402 401 403 if( bDebugCompile)402 if( compiler.IsDebug() ) 404 403 { 405 404 // デバッグ用の変数を定義 … … 832 831 CDebugSection *pobj_DebugSection; 833 832 pobj_DebugSection=new CDebugSection(); 834 extern BOOL bDebugCompile;835 833 extern BOOL bError; 836 if(bDebugCompile&&bError==0){ 834 if( compiler.IsDebug() && bError == 0 ) 835 { 837 836 CompileMessage( "デバッグ情報を生成しています。" ); 838 837 -
trunk/ab5.0/abdev/BasicCompiler_Common/BasicCompiler.cpp
r457 r459 620 620 { 621 621 // デバッグ ビルド 622 bDebugCompile = 1;622 compiler.SetDebugMark( true ); 623 623 } 624 624 else if( cmdLine.GetCommand() == "run" ) … … 726 726 if( compiler.IsStaticLibrary() ) 727 727 { 728 if( bDebugCompile||bDebugRun)728 if( bDebugRun || compiler.IsDebug() ) 729 729 { 730 730 lstrcat(OutputFileName,"_debug.abobj"); … … 737 737 else 738 738 { 739 if( bDebugCompile||bDebugRun)739 if( bDebugRun || compiler.IsDebug() ) 740 740 { 741 741 lstrcat(OutputFileName,"_debug.exe"); -
trunk/ab5.0/abdev/BasicCompiler_Common/BasicCompiler.h
r334 r459 20 20 21 21 //プログラム情報 22 BOOL bStrict;23 22 DWORD ImageBase; 24 23 … … 44 43 45 44 //デバッグ 46 BOOL bDebugCompile=0;47 45 BOOL bDebugRun=0; 48 46 BOOL bAttach=0; -
trunk/ab5.0/abdev/BasicCompiler_Common/Compile.cpp
r438 r459 442 442 443 443 case COM_DEBUG: 444 extern BOOL bDebugCompile;445 444 //int 3 446 if( bDebugCompile)445 if( compiler.IsDebug() ) 447 446 { 448 447 breakpoint; -
trunk/ab5.0/abdev/BasicCompiler_Common/Intermediate_Step1.cpp
r402 r459 244 244 int i,i2,i3; 245 245 char temporary[VN_SIZE]; 246 247 extern BOOL bStrict;248 bStrict=1;249 246 250 247 for(i=0;;i++){ -
trunk/ab5.0/abdev/BasicCompiler_Common/MakeExe.cpp
r350 r459 157 157 158 158 const char *coreFileName = "core.lib"; 159 if( bDebugCompile)159 if( compiler.IsDebug() ) 160 160 { 161 161 coreFileName = "cored.lib"; … … 282 282 } 283 283 int MainThread(DWORD dummy){ 284 extern BOOL bDebugCompile;285 284 extern BOOL bDebugRun; 286 285 extern int bError; 287 286 288 287 if(bDebugRun){ 289 if(bDebugCompile){ 288 if( compiler.IsDebug() ) 289 { 290 290 bDebugRun=0; 291 291 -
trunk/ab5.0/abdev/BasicCompiler_Common/error.cpp
r457 r459 496 496 } 497 497 498 //#strictが指定されていないときは型チェックを行わないようにする499 extern BOOL bStrict;500 if(bStrict==0) return true;501 502 498 if( calcType.GetBasicType() & FLAG_PTR ) 503 499 { -
trunk/ab5.0/abdev/BasicCompiler_Common/include/Compiler.h
r407 r459 14 14 class Compiler 15 15 { 16 public: 17 // ターゲット 18 enum TargetModuleType 19 { 20 Exe, 21 Dll, 22 StaticLibrary, 23 }; 24 25 private: 16 26 // モジュール名 17 27 std::string moduleName; 28 29 // モジュール タイプ 30 TargetModuleType targetModuleType; 31 32 // デバッグ ビルドかどうか 33 bool isDebug; 18 34 19 35 // 名前空間サポート … … 30 46 , pNowObjectModule( pObjectModule ) 31 47 , targetModuleType( Exe ) 48 , isDebug( false ) 32 49 , isCore( false ) 33 50 { … … 87 104 } 88 105 89 90 // ターゲット91 enum TargetModuleType92 {93 Exe,94 Dll,95 StaticLibrary,96 };97 98 TargetModuleType targetModuleType;99 100 106 bool IsExe() const 101 107 { … … 127 133 } 128 134 135 void SetDebugMark( bool isDebug ) 136 { 137 this->isDebug = isDebug; 138 } 139 bool IsDebug() const 140 { 141 return isDebug; 142 } 143 129 144 130 145 // コアモジュールかどうか -
trunk/ab5.0/abdev/BasicCompiler_Common/src/Source.cpp
r402 r459 105 105 ////////////////////////////////////// 106 106 107 CDefine::CDefine( int majorVer ){ 107 CDefine::CDefine( int majorVer ) 108 { 108 109 Init( majorVer ); 109 110 } 110 CDefine::~CDefine(){ 111 } 112 void CDefine::Init( int majorVer ){ 111 CDefine::~CDefine() 112 { 113 } 114 void CDefine::Init( int majorVer ) 115 { 113 116 names.clear(); 114 117 115 extern BOOL bDebugCompile; 116 if(bDebugCompile) add("_DEBUG"); 118 if( compiler.IsDebug() ) 119 { 120 add("_DEBUG"); 121 } 117 122 118 123 #ifdef _AMD64_ … … 120 125 #endif 121 126 122 if( compiler.IsDll() ){ 127 if( compiler.IsDll() ) 128 { 123 129 add("_DLL"); 124 130 } 125 131 126 if( Smoothie::IsUnicode() ){ 132 if( Smoothie::IsUnicode() ) 133 { 127 134 add( "UNICODE" ); 128 135 }
Note:
See TracChangeset
for help on using the changeset viewer.