Index: src/Parser/StatementNode.cc
===================================================================
--- src/Parser/StatementNode.cc	(revision ff3b024991498ae95b04049fe6e09181a5887c37)
+++ src/Parser/StatementNode.cc	(revision 4e7171f0f34eb877951aba5628b824cdf5f60cdd)
@@ -5,11 +5,12 @@
 // file "LICENCE" distributed with Cforall.
 //
-// StatementNode.cc --
+// StatementNode.cc -- Transform from parse data-structures to AST data-structures, usually deleting the parse
+//     data-structure after the transformation.
 //
 // Author           : Rodolfo G. Esteves
 // Created On       : Sat May 16 14:59:41 2015
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Wed Feb  2 09:45:28 2022
-// Update Count     : 415
+// Last Modified On : Wed Feb  2 12:27:58 2022
+// Update Count     : 424
 //
 
@@ -137,9 +138,9 @@
 
 Statement * build_case( ExpressionNode * ctl ) {
-	return new CaseStmt( maybeMoveBuild< Expression >(ctl), list< Statement * >{} );
+	return new CaseStmt( maybeMoveBuild< Expression >(ctl), {} ); // no init
 } // build_case
 
 Statement * build_default() {
-	return new CaseStmt( nullptr, list< Statement * >{}, true );
+	return new CaseStmt( nullptr, {}, true );			// no init
 } // build_default
 
@@ -159,7 +160,4 @@
 
 Statement * build_do_while( ExpressionNode * ctl, StatementNode * stmt, StatementNode * else_ ) {
-	// do-while cannot have declarations in the contitional, so always empty
-	list< Statement * > astinit;
-
 	list< Statement * > aststmt;						// loop body, compound created if empty
 	buildMoveList< Statement, StatementNode >( stmt, aststmt );
@@ -169,5 +167,6 @@
 	buildMoveList< Statement, StatementNode >( else_, astelse );
 
-	return new WhileDoStmt( notZeroExpr( maybeMoveBuild< Expression >(ctl) ), aststmt.front(), astelse.front(), astinit, true );
+	// do-while cannot have declarations in the contitional, so init is always empty
+	return new WhileDoStmt( notZeroExpr( maybeMoveBuild< Expression >(ctl) ), aststmt.front(), astelse.front(), {}, true );
 } // build_do_while
 
Index: src/SynTree/Statement.cc
===================================================================
--- src/SynTree/Statement.cc	(revision ff3b024991498ae95b04049fe6e09181a5887c37)
+++ src/SynTree/Statement.cc	(revision 4e7171f0f34eb877951aba5628b824cdf5f60cdd)
@@ -10,6 +10,6 @@
 // Created On       : Mon May 18 07:44:20 2015
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Tue Feb  1 17:55:29 2022
-// Update Count     : 79
+// Last Modified On : Wed Feb  2 11:55:19 2022
+// Update Count     : 80
 //
 
@@ -246,9 +246,9 @@
 }
 
-WhileDoStmt::WhileDoStmt( Expression * condition, Statement * body, std::list< Statement * > & initialization, bool isDoWhile ):
+WhileDoStmt::WhileDoStmt( Expression * condition, Statement * body, const std::list< Statement * > & initialization, bool isDoWhile ):
 	Statement(), condition( condition ), body( body ), else_( nullptr ), initialization( initialization ), isDoWhile( isDoWhile) {
 }
 
-WhileDoStmt::WhileDoStmt( Expression * condition, Statement * body, Statement * else_, std::list< Statement * > & initialization, bool isDoWhile ):
+WhileDoStmt::WhileDoStmt( Expression * condition, Statement * body, Statement * else_, const std::list< Statement * > & initialization, bool isDoWhile ):
 	Statement(), condition( condition), body( body ), else_( else_ ), initialization( initialization ), isDoWhile( isDoWhile) {
 }
Index: src/SynTree/Statement.h
===================================================================
--- src/SynTree/Statement.h	(revision ff3b024991498ae95b04049fe6e09181a5887c37)
+++ src/SynTree/Statement.h	(revision 4e7171f0f34eb877951aba5628b824cdf5f60cdd)
@@ -10,6 +10,6 @@
 // Created On       : Mon May 18 07:44:20 2015
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Tue Feb  1 17:07:32 2022
-// Update Count     : 93
+// Last Modified On : Wed Feb  2 11:49:17 2022
+// Update Count     : 94
 //
 
@@ -233,6 +233,6 @@
 	bool isDoWhile;
 
-	WhileDoStmt( Expression * condition, Statement * body, std::list<Statement *> & initialization, bool isDoWhile = false );
-	WhileDoStmt( Expression * condition, Statement * body, Statement * els, std::list<Statement *> & initialization, bool isDoWhile = false );
+	WhileDoStmt( Expression * condition, Statement * body, const std::list<Statement *> & initialization, bool isDoWhile = false );
+	WhileDoStmt( Expression * condition, Statement * body, Statement * else_, const std::list<Statement *> & initialization, bool isDoWhile = false );
 	WhileDoStmt( const WhileDoStmt & other );
 	virtual ~WhileDoStmt();
