Index: /trunk/abdev/BasicCompiler32/Compile_ProcOp.cpp
===================================================================
--- /trunk/abdev/BasicCompiler32/Compile_ProcOp.cpp	(revision 260)
+++ /trunk/abdev/BasicCompiler32/Compile_ProcOp.cpp	(revision 261)
@@ -403,6 +403,5 @@
 
 	//ラベル管理オブジェクトを初期化
-	extern Labels labels;
-	labels.clear();
+	compiler.codeGenerator.gotoLabels.clear();
 
 	//Gotoラベルスケジュール
Index: /trunk/abdev/BasicCompiler32/Compile_Statement.cpp
===================================================================
--- /trunk/abdev/BasicCompiler32/Compile_Statement.cpp	(revision 260)
+++ /trunk/abdev/BasicCompiler32/Compile_Statement.cpp	(revision 261)
@@ -279,8 +279,6 @@
 
 int GetLabelAddress(char *LabelName,int LineNum){
-	extern Labels labels;
-
 	if(LabelName){
-		BOOST_FOREACH( const Label &label, labels )
+		BOOST_FOREACH( const GotoLabel &label, compiler.codeGenerator.gotoLabels )
 		{
 			if( label.name.size() > 0 )
@@ -294,5 +292,5 @@
 	}
 	else{
-		BOOST_FOREACH( const Label &label, labels )
+		BOOST_FOREACH( const GotoLabel &label, compiler.codeGenerator.gotoLabels )
 		{
 			if( label.name.size() == 0 )
Index: /trunk/abdev/BasicCompiler32/MakePeHdr.cpp
===================================================================
--- /trunk/abdev/BasicCompiler32/MakePeHdr.cpp	(revision 260)
+++ /trunk/abdev/BasicCompiler32/MakePeHdr.cpp	(revision 261)
@@ -418,6 +418,5 @@
 
 		//ラベル管理オブジェクトを初期化
-		extern Labels labels;
-		labels.clear();
+		compiler.codeGenerator.gotoLabels.clear();
 
 		//Gotoラベルスケジュール
Index: /trunk/abdev/BasicCompiler32/Opcode.h
===================================================================
--- /trunk/abdev/BasicCompiler32/Opcode.h	(revision 260)
+++ /trunk/abdev/BasicCompiler32/Opcode.h	(revision 261)
@@ -19,27 +19,4 @@
 #define breakpoint compiler.codeGenerator.PutOld( (char)0xCC );
 
-
-//ラベルアドレス
-class Label
-{
-public:
-	std::string name;
-	int line;
-	DWORD address;
-
-	Label( const std::string &name, long nativeCodePos )
-		: name( name )
-		, line( -1 )
-		, address( nativeCodePos )
-	{
-	}
-	Label( int line, long nativeCodePos )
-		: name( "" )
-		, line( line )
-		, address( nativeCodePos )
-	{
-	}
-};
-typedef std::vector<Label> Labels;
 
 //プロシージャの種類
Index: /trunk/abdev/BasicCompiler_Common/Compile.cpp
===================================================================
--- /trunk/abdev/BasicCompiler_Common/Compile.cpp	(revision 260)
+++ /trunk/abdev/BasicCompiler_Common/Compile.cpp	(revision 261)
@@ -19,7 +19,4 @@
 
 #include <Exception.h>
-
-//ラベルアドレス
-Labels labels;
 
 //グローバル変数初期バッファ
@@ -122,5 +119,5 @@
 		//Goto先ラベル
 		extern int obp;
-		labels.push_back( Label( Command + 1, obp ) );
+		compiler.codeGenerator.gotoLabels.push_back( GotoLabel( Command + 1, obp ) );
 
 		//書き込みスケジュール
@@ -534,5 +531,5 @@
 				//Goto先ラベル
 				extern int obp;
-				labels.push_back( Label( (long)i3, obp ) );
+				compiler.codeGenerator.gotoLabels.push_back( GotoLabel( (long)i3, obp ) );
 
 				//書き込みスケジュール
Index: /trunk/abdev/BasicCompiler_Common/include/CodeGenerator.h
===================================================================
--- /trunk/abdev/BasicCompiler_Common/include/CodeGenerator.h	(revision 260)
+++ /trunk/abdev/BasicCompiler_Common/include/CodeGenerator.h	(revision 261)
@@ -81,4 +81,27 @@
 typedef std::vector<const GotoLabelSchedule *> GotoLabelSchedules;
 
+//ラベルアドレス
+class GotoLabel
+{
+public:
+	std::string name;
+	int line;
+	DWORD address;
+
+	GotoLabel( const std::string &name, long nativeCodePos )
+		: name( name )
+		, line( -1 )
+		, address( nativeCodePos )
+	{
+	}
+	GotoLabel( int line, long nativeCodePos )
+		: name( "" )
+		, line( line )
+		, address( nativeCodePos )
+	{
+	}
+};
+typedef std::vector<GotoLabel> GotoLabels;
+
 class LexicalScope
 {
@@ -190,4 +213,5 @@
 
 	// Gotoスケジュールの管理
+	GotoLabels gotoLabels;
 	GotoLabelSchedules gotoLabelSchedules;
 
