Index: src/ControlStruct/ForExprMutator.cc
===================================================================
--- src/ControlStruct/ForExprMutator.cc	(revision 4de48c588c60ac044d761e489e81a19e392a419d)
+++ src/ControlStruct/ForExprMutator.cc	(revision 21a99ccc1c184c5bca78dca70582d46fc6488bc3)
@@ -10,6 +10,6 @@
 // Created On       : Mon May 18 07:44:20 2015
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Mon Mar 11 22:26:52 2019
-// Update Count     : 14
+// Last Modified On : Tue Feb  1 09:26:12 2022
+// Update Count     : 16
 //
 
@@ -45,6 +45,6 @@
 		return hoist( forStmt, forStmt->initialization );
 	}
-	Statement * ForExprMutator::postmutate( WhileStmt * whileStmt ) {
-		return hoist( whileStmt, whileStmt->initialization );
+	Statement * ForExprMutator::postmutate( WhileDoStmt * whileDoStmt ) {
+		return hoist( whileDoStmt, whileDoStmt->initialization );
 	}
 } // namespace ControlStruct
Index: src/ControlStruct/ForExprMutator.h
===================================================================
--- src/ControlStruct/ForExprMutator.h	(revision 4de48c588c60ac044d761e489e81a19e392a419d)
+++ src/ControlStruct/ForExprMutator.h	(revision 21a99ccc1c184c5bca78dca70582d46fc6488bc3)
@@ -10,6 +10,6 @@
 // Created On       : Mon May 18 07:44:20 2015
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Sun Jan 30 09:14:46 2022
-// Update Count     : 6
+// Last Modified On : Tue Feb  1 09:18:50 2022
+// Update Count     : 7
 //
 
@@ -18,5 +18,5 @@
 class IfStmt;
 class ForStmt;
-class WhileStmt;
+class WhileDoStmt;
 class Statement;
 
@@ -26,5 +26,5 @@
 		Statement * postmutate( IfStmt * );
 		Statement * postmutate( ForStmt * );
-		Statement * postmutate( WhileStmt * );
+		Statement * postmutate( WhileDoStmt * );
 	};
 } // namespace ControlStruct
Index: src/ControlStruct/HoistControlDecls.cpp
===================================================================
--- src/ControlStruct/HoistControlDecls.cpp	(revision 4de48c588c60ac044d761e489e81a19e392a419d)
+++ src/ControlStruct/HoistControlDecls.cpp	(revision 21a99ccc1c184c5bca78dca70582d46fc6488bc3)
@@ -10,6 +10,6 @@
 // Created On       : Fri Dec  3 15:34:00 2021
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Mon Jan 31 18:52:35 2022
-// Update Count     : 23
+// Last Modified On : Tue Feb  1 18:59:47 2022
+// Update Count     : 25
 //
 
@@ -35,6 +35,5 @@
 
 	CompoundStmt * block = new CompoundStmt( stmt->location ); // create empty compound statement
-	//    {
-	//    }
+	//    {}
 
 	for ( const Stmt * next : stmt->inits ) {			// link conditional declarations into compound
@@ -69,6 +68,6 @@
 		return hoist<ForStmt>( stmt );
 	}
-	const Stmt * postvisit( const WhileStmt * stmt ) {
-		return hoist<WhileStmt>( stmt );
+	const Stmt * postvisit( const WhileDoStmt * stmt ) {
+		return hoist<WhileDoStmt>( stmt );
 	}
 };
Index: src/ControlStruct/LabelFixer.cc
===================================================================
--- src/ControlStruct/LabelFixer.cc	(revision 4de48c588c60ac044d761e489e81a19e392a419d)
+++ src/ControlStruct/LabelFixer.cc	(revision 21a99ccc1c184c5bca78dca70582d46fc6488bc3)
@@ -10,6 +10,6 @@
 // Created On       : Mon May 18 07:44:20 2015
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Mon Jan 31 22:28:31 2022
-// Update Count     : 161
+// Last Modified On : Tue Feb  1 09:12:09 2022
+// Update Count     : 162
 //
 
@@ -29,5 +29,5 @@
 bool LabelFixer::Entry::insideLoop() {
 	return ( dynamic_cast< ForStmt * > ( definition ) ||
-		dynamic_cast< WhileStmt * > ( definition )  );
+		dynamic_cast< WhileDoStmt * > ( definition )  );
 }
 
Index: src/ControlStruct/LabelGeneratorNew.cpp
===================================================================
--- src/ControlStruct/LabelGeneratorNew.cpp	(revision 4de48c588c60ac044d761e489e81a19e392a419d)
+++ src/ControlStruct/LabelGeneratorNew.cpp	(revision 21a99ccc1c184c5bca78dca70582d46fc6488bc3)
@@ -10,6 +10,6 @@
 // Created On       : Mon May 18 07:44:20 2015
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Mon Jan 31 18:51:10 2022
-// Update Count     : 71
+// Last Modified On : Wed Feb  2 09:11:17 2022
+// Update Count     : 72
 //
 
@@ -28,15 +28,15 @@
 	static int current = 0;
 
-	assert( ( (void)"CFA internal error: parameter statement cannot be null pointer", stmt ) );
+	assertf( stmt, "CFA internal error: parameter statement cannot be null pointer" );
 
 	enum { size = 128 };
 	char buf[size];										// space to build label
 	int len = snprintf( buf, size, "__L%d__%s", current++, suffix.c_str() );
-	assert( ( (void)"CFA Internal error: buffer overflow creating label", len < size ) );
+	assertf( len < size, "CFA Internal error: buffer overflow creating label" );
 
 	// What does this do?
 	if ( ! stmt->labels.empty() ) {
 		len = snprintf( buf + len, size - len, "_%s__", stmt->labels.front().name.c_str() );
-		assert( ( (void)"CFA Internal error: buffer overflow creating label", len < size - len ) );
+		assertf( len < size - len, "CFA Internal error: buffer overflow creating label" );
 	} // if
 
Index: src/ControlStruct/MLEMutator.cc
===================================================================
--- src/ControlStruct/MLEMutator.cc	(revision 4de48c588c60ac044d761e489e81a19e392a419d)
+++ src/ControlStruct/MLEMutator.cc	(revision 21a99ccc1c184c5bca78dca70582d46fc6488bc3)
@@ -9,7 +9,7 @@
 // Author           : Rodolfo G. Esteves
 // Created On       : Mon May 18 07:44:20 2015
-// Last Modified By : Andrew Beach
-// Last Modified On : Wed Jan 22 11:50:00 2020
-// Update Count     : 223
+// Last Modified By : Peter A. Buhr
+// Last Modified On : Tue Feb  1 09:26:28 2022
+// Update Count     : 225
 //
 
@@ -39,5 +39,5 @@
 	namespace {
 		bool isLoop( const MultiLevelExitMutator::Entry & e ) {
-			return dynamic_cast< WhileStmt * >( e.get_controlStructure() )
+			return dynamic_cast< WhileDoStmt * >( e.get_controlStructure() )
 				|| dynamic_cast< ForStmt * >( e.get_controlStructure() );
 		}
@@ -295,6 +295,6 @@
 	}
 
-	void MultiLevelExitMutator::premutate( WhileStmt * whileStmt ) {
-		return prehandleLoopStmt( whileStmt );
+	void MultiLevelExitMutator::premutate( WhileDoStmt * whileDoStmt ) {
+		return prehandleLoopStmt( whileDoStmt );
 	}
 
@@ -303,6 +303,6 @@
 	}
 
-	Statement * MultiLevelExitMutator::postmutate( WhileStmt * whileStmt ) {
-		return posthandleLoopStmt( whileStmt );
+	Statement * MultiLevelExitMutator::postmutate( WhileDoStmt * whileDoStmt ) {
+		return posthandleLoopStmt( whileDoStmt );
 	}
 
Index: src/ControlStruct/MLEMutator.h
===================================================================
--- src/ControlStruct/MLEMutator.h	(revision 4de48c588c60ac044d761e489e81a19e392a419d)
+++ src/ControlStruct/MLEMutator.h	(revision 21a99ccc1c184c5bca78dca70582d46fc6488bc3)
@@ -9,7 +9,7 @@
 // Author           : Rodolfo G. Esteves
 // Created On       : Mon May 18 07:44:20 2015
-// Last Modified By : Andrew Beach
-// Last Modified On : Wed Jan 22 11:50:00 2020
-// Update Count     : 48
+// Last Modified By : Peter A. Buhr
+// Last Modified On : Tue Feb  1 09:27:24 2022
+// Update Count     : 50
 //
 
@@ -42,6 +42,6 @@
 		void premutate( CompoundStmt *cmpndStmt );
 		Statement * postmutate( BranchStmt *branchStmt ) throw ( SemanticErrorException );
-		void premutate( WhileStmt *whileStmt );
-		Statement * postmutate( WhileStmt *whileStmt );
+		void premutate( WhileDoStmt *whileDoStmt );
+		Statement * postmutate( WhileDoStmt *whileDoStmt );
 		void premutate( ForStmt *forStmt );
 		Statement * postmutate( ForStmt *forStmt );
@@ -67,5 +67,5 @@
 				stmt( stmt ), breakExit( breakExit ), contExit( contExit ) {}
 
-			explicit Entry( WhileStmt *stmt, Label breakExit, Label contExit ) :
+			explicit Entry( WhileDoStmt *stmt, Label breakExit, Label contExit ) :
 				stmt( stmt ), breakExit( breakExit ), contExit( contExit ) {}
 
Index: src/ControlStruct/MultiLevelExit.cpp
===================================================================
--- src/ControlStruct/MultiLevelExit.cpp	(revision 4de48c588c60ac044d761e489e81a19e392a419d)
+++ src/ControlStruct/MultiLevelExit.cpp	(revision 21a99ccc1c184c5bca78dca70582d46fc6488bc3)
@@ -10,6 +10,6 @@
 // Created On       : Mon Nov  1 13:48:00 2021
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Mon Jan 31 22:35:08 2022
-// Update Count     : 28
+// Last Modified On : Tue Feb  1 18:48:47 2022
+// Update Count     : 29
 //
 
@@ -40,5 +40,5 @@
 
 	enum Kind {
-		ForStmtK, WhileStmtK, CompoundStmtK, IfStmtK, CaseStmtK, SwitchStmtK, TryStmtK
+		ForStmtK, WhileDoStmtK, CompoundStmtK, IfStmtK, CaseStmtK, SwitchStmtK, TryStmtK
 	} kind;
 
@@ -53,6 +53,6 @@
 	Entry( const ForStmt * stmt, Label breakExit, Label contExit ) :
 		stmt( stmt ), firstTarget( breakExit ), secondTarget( contExit ), kind( ForStmtK ) {}
-	Entry( const WhileStmt * stmt, Label breakExit, Label contExit ) :
-		stmt( stmt ), firstTarget( breakExit ), secondTarget( contExit ), kind( WhileStmtK ) {}
+	Entry( const WhileDoStmt * stmt, Label breakExit, Label contExit ) :
+		stmt( stmt ), firstTarget( breakExit ), secondTarget( contExit ), kind( WhileDoStmtK ) {}
 	Entry( const CompoundStmt *stmt, Label breakExit ) :
 		stmt( stmt ), firstTarget( breakExit ), secondTarget(), kind( CompoundStmtK ) {}
@@ -66,5 +66,5 @@
 		stmt( stmt ), firstTarget( breakExit ), secondTarget(), kind( TryStmtK ) {}
 
-	bool isContTarget() const { return kind <= WhileStmtK; }
+	bool isContTarget() const { return kind <= WhileDoStmtK; }
 	bool isBreakTarget() const { return kind != CaseStmtK; }
 	bool isFallTarget() const { return kind == CaseStmtK; }
@@ -72,5 +72,5 @@
 
 	// These routines set a target as being "used" by a BranchStmt
-	Label useContExit() { assert( kind <= WhileStmtK ); return useTarget(secondTarget); }
+	Label useContExit() { assert( kind <= WhileDoStmtK ); return useTarget(secondTarget); }
 	Label useBreakExit() { assert( kind != CaseStmtK ); return useTarget(firstTarget); }
 	Label useFallExit() { assert( kind == CaseStmtK );  return useTarget(firstTarget); }
@@ -78,5 +78,5 @@
 
 	// These routines check if a specific label for a statement is used by a BranchStmt
-	bool isContUsed() const { assert( kind <= WhileStmtK ); return secondTarget.used; }
+	bool isContUsed() const { assert( kind <= WhileDoStmtK ); return secondTarget.used; }
 	bool isBreakUsed() const { assert( kind != CaseStmtK ); return firstTarget.used; }
 	bool isFallUsed() const { assert( kind == CaseStmtK ); return firstTarget.used; }
@@ -112,6 +112,6 @@
 	const CompoundStmt * previsit( const CompoundStmt * );
 	const BranchStmt * postvisit( const BranchStmt * );
-	void previsit( const WhileStmt * );
-	const WhileStmt * postvisit( const WhileStmt * );
+	void previsit( const WhileDoStmt * );
+	const WhileDoStmt * postvisit( const WhileDoStmt * );
 	void previsit( const ForStmt * );
 	const ForStmt * postvisit( const ForStmt * );
@@ -342,9 +342,9 @@
 }
 
-void MultiLevelExitCore::previsit( const WhileStmt * stmt ) {
+void MultiLevelExitCore::previsit( const WhileDoStmt * stmt ) {
 	return prehandleLoopStmt( stmt );
 }
 
-const WhileStmt * MultiLevelExitCore::postvisit( const WhileStmt * stmt ) {
+const WhileDoStmt * MultiLevelExitCore::postvisit( const WhileDoStmt * stmt ) {
 	return posthandleLoopStmt( stmt );
 }
