Index: trunk/ab5.0/abdev/BasicCompiler_Common/BasicCompiler.cpp
===================================================================
--- trunk/ab5.0/abdev/BasicCompiler_Common/BasicCompiler.cpp	(revision 457)
+++ trunk/ab5.0/abdev/BasicCompiler_Common/BasicCompiler.cpp	(revision 459)
@@ -620,5 +620,5 @@
 		{
 			// デバッグ ビルド
-			bDebugCompile = 1;
+			compiler.SetDebugMark( true );
 		}
 		else if( cmdLine.GetCommand() == "run" )
@@ -726,5 +726,5 @@
 		if( compiler.IsStaticLibrary() )
 		{
-			if(bDebugCompile||bDebugRun)
+			if( bDebugRun || compiler.IsDebug() )
 			{
 				lstrcat(OutputFileName,"_debug.abobj");
@@ -737,5 +737,5 @@
 		else
 		{
-			if(bDebugCompile||bDebugRun)
+			if( bDebugRun || compiler.IsDebug() )
 			{
 				lstrcat(OutputFileName,"_debug.exe");
Index: trunk/ab5.0/abdev/BasicCompiler_Common/BasicCompiler.h
===================================================================
--- trunk/ab5.0/abdev/BasicCompiler_Common/BasicCompiler.h	(revision 457)
+++ trunk/ab5.0/abdev/BasicCompiler_Common/BasicCompiler.h	(revision 459)
@@ -20,5 +20,4 @@
 
 //プログラム情報
-BOOL bStrict;
 DWORD ImageBase;
 
@@ -44,5 +43,4 @@
 
 //デバッグ
-BOOL bDebugCompile=0;
 BOOL bDebugRun=0;
 BOOL bAttach=0;
Index: trunk/ab5.0/abdev/BasicCompiler_Common/Compile.cpp
===================================================================
--- trunk/ab5.0/abdev/BasicCompiler_Common/Compile.cpp	(revision 457)
+++ trunk/ab5.0/abdev/BasicCompiler_Common/Compile.cpp	(revision 459)
@@ -442,7 +442,6 @@
 
 		case COM_DEBUG:
-			extern BOOL bDebugCompile;
 			//int 3
-			if(bDebugCompile)
+			if( compiler.IsDebug() )
 			{
 				breakpoint;
Index: trunk/ab5.0/abdev/BasicCompiler_Common/Intermediate_Step1.cpp
===================================================================
--- trunk/ab5.0/abdev/BasicCompiler_Common/Intermediate_Step1.cpp	(revision 457)
+++ trunk/ab5.0/abdev/BasicCompiler_Common/Intermediate_Step1.cpp	(revision 459)
@@ -244,7 +244,4 @@
 	int i,i2,i3;
 	char temporary[VN_SIZE];
-
-	extern BOOL bStrict;
-	bStrict=1;
 
 	for(i=0;;i++){
Index: trunk/ab5.0/abdev/BasicCompiler_Common/MakeExe.cpp
===================================================================
--- trunk/ab5.0/abdev/BasicCompiler_Common/MakeExe.cpp	(revision 457)
+++ trunk/ab5.0/abdev/BasicCompiler_Common/MakeExe.cpp	(revision 459)
@@ -157,5 +157,5 @@
 
 			const char *coreFileName = "core.lib";
-			if( bDebugCompile )
+			if( compiler.IsDebug() )
 			{
 				coreFileName = "cored.lib";
@@ -282,10 +282,10 @@
 }
 int MainThread(DWORD dummy){
-	extern BOOL bDebugCompile;
 	extern BOOL bDebugRun;
 	extern int bError;
 
 	if(bDebugRun){
-		if(bDebugCompile){
+		if( compiler.IsDebug() )
+		{
 			bDebugRun=0;
 
Index: trunk/ab5.0/abdev/BasicCompiler_Common/error.cpp
===================================================================
--- trunk/ab5.0/abdev/BasicCompiler_Common/error.cpp	(revision 457)
+++ trunk/ab5.0/abdev/BasicCompiler_Common/error.cpp	(revision 459)
@@ -496,8 +496,4 @@
 	}
 
-	//#strictが指定されていないときは型チェックを行わないようにする
-	extern BOOL bStrict;
-	if(bStrict==0) return true;
-
 	if( calcType.GetBasicType() & FLAG_PTR )
 	{
Index: trunk/ab5.0/abdev/BasicCompiler_Common/include/Compiler.h
===================================================================
--- trunk/ab5.0/abdev/BasicCompiler_Common/include/Compiler.h	(revision 457)
+++ trunk/ab5.0/abdev/BasicCompiler_Common/include/Compiler.h	(revision 459)
@@ -14,6 +14,22 @@
 class Compiler
 {
+public:
+	// ターゲット
+	enum TargetModuleType
+	{
+		Exe,
+		Dll,
+		StaticLibrary,
+	};
+
+private:
 	// モジュール名
 	std::string moduleName;
+
+	// モジュール タイプ
+	TargetModuleType targetModuleType;
+
+	// デバッグ ビルドかどうか
+	bool isDebug;
 
 	// 名前空間サポート
@@ -30,4 +46,5 @@
 		, pNowObjectModule( pObjectModule )
 		, targetModuleType( Exe )
+		, isDebug( false )
 		, isCore( false )
 	{
@@ -87,15 +104,4 @@
 	}
 
-
-	// ターゲット
-	enum TargetModuleType
-	{
-		Exe,
-		Dll,
-		StaticLibrary,
-	};
-
-	TargetModuleType targetModuleType;
-
 	bool IsExe() const
 	{
@@ -127,4 +133,13 @@
 	}
 
+	void SetDebugMark( bool isDebug )
+	{
+		this->isDebug = isDebug;
+	}
+	bool IsDebug() const
+	{
+		return isDebug;
+	}
+
 
 	// コアモジュールかどうか
Index: trunk/ab5.0/abdev/BasicCompiler_Common/src/Source.cpp
===================================================================
--- trunk/ab5.0/abdev/BasicCompiler_Common/src/Source.cpp	(revision 457)
+++ trunk/ab5.0/abdev/BasicCompiler_Common/src/Source.cpp	(revision 459)
@@ -105,14 +105,19 @@
 //////////////////////////////////////
 
-CDefine::CDefine( int majorVer ){
+CDefine::CDefine( int majorVer )
+{
 	Init( majorVer );
 }
-CDefine::~CDefine(){
-}
-void CDefine::Init( int majorVer ){
+CDefine::~CDefine()
+{
+}
+void CDefine::Init( int majorVer )
+{
 	names.clear();
 
-	extern BOOL bDebugCompile;
-	if(bDebugCompile) add("_DEBUG");
+	if( compiler.IsDebug() )
+	{
+		add("_DEBUG");
+	}
 
 #ifdef _AMD64_
@@ -120,9 +125,11 @@
 #endif
 
-	if( compiler.IsDll() ){
+	if( compiler.IsDll() )
+	{
 		add("_DLL");
 	}
 
-	if( Smoothie::IsUnicode() ){
+	if( Smoothie::IsUnicode() )
+	{
 		add( "UNICODE" );
 	}
