Index: src/SynTree/Statement.cc
===================================================================
--- src/SynTree/Statement.cc	(revision 58094611c386c7e6f0ba52d00ecf89b154288c42)
+++ src/SynTree/Statement.cc	(revision b0dfbc4daacd2870c209f52e5219f7fd651b3024)
@@ -89,18 +89,23 @@
 
 BranchStmt::BranchStmt( std::list<Label> labels, Label target, Type type ) throw ( SemanticError ) :
-	Statement( labels ), originalTarget( target ), target( target ), computedTarget( NULL ), type( type ) {
+	Statement( labels ), originalTarget( target ), target( target ), computedTarget( nullptr ), type( type ) {
 	//actually this is a syntactic error signaled by the parser
-	if ( type == BranchStmt::Goto && target.empty() )
+	if ( type == BranchStmt::Goto && target.empty() ) {
 		throw SemanticError("goto without target");
+	}
 }
 
 BranchStmt::BranchStmt( std::list<Label> labels, Expression *computedTarget, Type type ) throw ( SemanticError ) :
 	Statement( labels ), computedTarget( computedTarget ), type( type ) {
-	if ( type != BranchStmt::Goto || computedTarget == 0 )
+	if ( type != BranchStmt::Goto || computedTarget == nullptr ) {
 		throw SemanticError("Computed target not valid in branch statement");
+	}
 }
 
 void BranchStmt::print( std::ostream &os, int indent ) const {
 	os << string( indent, ' ' ) << "Branch (" << brType[type] << ")" << endl ;
+	if ( target != "" ) os << string( indent+2, ' ' ) << "with target: " << target << endl;
+	if ( originalTarget != "" ) os << string( indent+2, ' ' ) << "with original target: " << originalTarget << endl;
+	if ( computedTarget != nullptr ) os << string( indent+2, ' ' ) << "with computed target: " << computedTarget << endl;
 }
 
