Index: src/CodeGen/CodeGenerator.cc
===================================================================
--- src/CodeGen/CodeGenerator.cc	(revision 70a1c3aed5e5b84a329ddc71a02c60806fd80216)
+++ src/CodeGen/CodeGenerator.cc	(revision bbbc067e84adc59b31d39e97991980bf6379934a)
@@ -63,5 +63,5 @@
 	} // extension
 
-	CodeGenerator::LabelPrinter & CodeGenerator::LabelPrinter::operator()( std::list< Label > & l ) {
+	CodeGenerator::LabelPrinter & CodeGenerator::LabelPrinter::operator()( std::vector< Label > & l ) {
 		labels = &l;
 		return *this;
@@ -69,5 +69,5 @@
 
 	ostream & operator<<( ostream & output, CodeGenerator::LabelPrinter & printLabels ) {
-		std::list< Label > & labs = *printLabels.labels;
+		std::vector< Label >  & labs = *printLabels.labels;
 		// l.unique(); // assumes a sorted list. Why not use set? Does order matter?
 		for ( Label & l : labs ) {
@@ -911,5 +911,5 @@
 		if ( ! asmStmt->get_gotolabels().empty() ) {
 			output << " : ";
-			for ( std::list<Label>::iterator begin = asmStmt->get_gotolabels().begin();; ) {
+			for ( std::vector< Label > ::iterator begin = asmStmt->get_gotolabels().begin();; ) {
 				output << *begin++;
 				if ( begin == asmStmt->get_gotolabels().end() ) break;
Index: src/CodeGen/CodeGenerator.h
===================================================================
--- src/CodeGen/CodeGenerator.h	(revision 70a1c3aed5e5b84a329ddc71a02c60806fd80216)
+++ src/CodeGen/CodeGenerator.h	(revision bbbc067e84adc59b31d39e97991980bf6379934a)
@@ -124,7 +124,7 @@
 		struct LabelPrinter {
 			LabelPrinter(CodeGenerator &cg) : cg(cg), labels( 0 ) {}
-			LabelPrinter & operator()( std::list< Label > & l );
+			LabelPrinter & operator()( std::vector< Label >  & l );
 			CodeGenerator & cg;
-			std::list< Label > * labels;
+			std::vector< Label >  * labels;
 		};
 
