Index: src/SynTree/Statement.cc
===================================================================
--- src/SynTree/Statement.cc	(revision 367e082669bed759f36ff590dedd54bd4eb7b398)
+++ src/SynTree/Statement.cc	(revision be5aa1bdda2dce427692030b8a71558b7cec35cb)
@@ -9,7 +9,7 @@
 // Author           : Richard C. Bilson
 // Created On       : Mon May 18 07:44:20 2015
-// Last Modified By : Peter A. Buhr
-// Last Modified On : Mon May 18 10:55:19 2015
-// Update Count     : 2
+// Last Modified By : Rob Schluntz
+// Last Modified On : Wed May 27 15:41:13 2015
+// Update Count     : 8
 //
 
@@ -46,5 +46,5 @@
 
 BranchStmt::BranchStmt( std::list<Label> labels, Label _target, Type _type ) throw ( SemanticError ) :
-	Statement( labels ), target(_target ), type(_type ) {
+	Statement( labels ), originalTarget(_target ), target(_target ), type(_type ) {
 	//actually this is a syntactic error signaled by the parser
 	if ( type == BranchStmt::Goto && target.size() == 0 )
@@ -200,4 +200,10 @@
 
 void ForStmt::print( std::ostream &os, int indent ) {
+	os << "\r" << string( indent, ' ') << "Labels: {";
+	for (std::list<Label>::iterator it = get_labels().begin(); it != get_labels().end(); ++it) {
+		os << *it << ",";
+	}
+	os << "}" << endl;
+
 	os << "\r" << string( indent, ' ') << "For Statement" << endl ;
 
Index: src/SynTree/Statement.h
===================================================================
--- src/SynTree/Statement.h	(revision 367e082669bed759f36ff590dedd54bd4eb7b398)
+++ src/SynTree/Statement.h	(revision be5aa1bdda2dce427692030b8a71558b7cec35cb)
@@ -9,7 +9,7 @@
 // Author           : Richard C. Bilson
 // Created On       : Mon May 18 07:44:20 2015
-// Last Modified By : Peter A. Buhr
-// Last Modified On : Mon May 18 10:57:40 2015
-// Update Count     : 2
+// Last Modified By : Rob Schluntz
+// Last Modified On : Wed May 27 15:40:43 2015
+// Update Count     : 5
 //
 
@@ -227,4 +227,5 @@
 	virtual ~BranchStmt() {}
 
+	Label get_originalTarget() { return originalTarget; }
 	Label get_target() { return target; }
 	void set_target( Label newValue ) { target = newValue; }
@@ -242,4 +243,5 @@
   private:
 	static const char *brType[];
+	Label originalTarget;  // can give better error messages if we remember the label name that the user entered
 	Label target;
 	Expression *computedTarget;
