Index: src/ControlStruct/MultiLevelExit.cpp
===================================================================
--- src/ControlStruct/MultiLevelExit.cpp	(revision 9dc08363022b801baa10ae7ce1495284ececf1cd)
+++ src/ControlStruct/MultiLevelExit.cpp	(revision 2f52b186645534ee73fd29239abb957c34171960)
@@ -10,6 +10,6 @@
 // Created On       : Mon Nov  1 13:48:00 2021
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Wed Feb  2 20:19:24 2022
-// Update Count     : 30
+// Last Modified On : Wed Feb  2 23:07:54 2022
+// Update Count     : 33
 //
 
@@ -49,5 +49,4 @@
 		return target.label;
 	}
-
   public:
 	Entry( const ForStmt * stmt, Label breakExit, Label contExit ) :
@@ -168,5 +167,5 @@
 
 	// if the stmt is labelled then generate a label to check in postvisit if the label is used
-	bool isLabeled = !stmt->labels.empty();
+	bool isLabeled = ! stmt->labels.empty();
 	if ( isLabeled ) {
 		Label breakLabel = newLabel( "blockBreak", stmt );
@@ -180,7 +179,7 @@
 
 	if ( isLabeled ) {
-		assert( !enclosing_control_structures.empty() );
+		assert( ! enclosing_control_structures.empty() );
 		Entry & entry = enclosing_control_structures.back();
-		if ( !entry.useBreakExit().empty() ) {
+		if ( ! entry.useBreakExit().empty() ) {
 			break_label = entry.useBreakExit();
 		}
@@ -254,5 +253,5 @@
 		  }
 		  // Ensure that selected target is valid.
-		  if ( targetEntry == enclosing_control_structures.rend() || ( isContinue && !isContinueTarget( *targetEntry ) ) ) {
+		  if ( targetEntry == enclosing_control_structures.rend() || ( isContinue && ! isContinueTarget( *targetEntry ) ) ) {
 			  SemanticError( stmt->location, toString( (isContinue ? "'continue'" : "'break'"),
 							" target must be an enclosing ", (isContinue ? "loop: " : "control structure: "),
@@ -268,12 +267,11 @@
 			  SemanticError( stmt->location, "'fallthrough' must be enclosed in a 'switch' or 'choose'" );
 		  }
-		  if ( !stmt->target.empty() ) {
+		  if ( ! stmt->target.empty() ) {
 			  // Labelled fallthrough: target must be a valid fallthough label.
-			  if ( !fallthrough_labels.count( stmt->target ) ) {
+			  if ( ! fallthrough_labels.count( stmt->target ) ) {
 				  SemanticError( stmt->location, toString( "'fallthrough' target must be a later case statement: ",
 														   stmt->originalTarget ) );
 			  }
-			  return new BranchStmt(
-				  stmt->location, BranchStmt::Goto, stmt->originalTarget );
+			  return new BranchStmt( stmt->location, BranchStmt::Goto, stmt->originalTarget );
 		  }
 		  break;
@@ -307,25 +305,24 @@
 	}
 
-	// Branch error checks: get the appropriate label name:
-	// (This label is always replaced.)
+	// Branch error checks: get the appropriate label name, which is always replaced.
 	Label exitLabel( CodeLocation(), "" );
 	switch ( stmt->kind ) {
 	  case BranchStmt::Break:
-		assert( !targetEntry->useBreakExit().empty() );
+		assert( ! targetEntry->useBreakExit().empty() );
 		exitLabel = targetEntry->useBreakExit();
 		break;
 	  case BranchStmt::Continue:
-		assert( !targetEntry->useContExit().empty() );
+		assert( ! targetEntry->useContExit().empty() );
 		exitLabel = targetEntry->useContExit();
 		break;
 	  case BranchStmt::FallThrough:
-		assert( !targetEntry->useFallExit().empty() );
+		assert( ! targetEntry->useFallExit().empty() );
 		exitLabel = targetEntry->useFallExit();
 		break;
 	  case BranchStmt::FallThroughDefault:
-		assert( !targetEntry->useFallDefaultExit().empty() );
+		assert( ! targetEntry->useFallDefaultExit().empty() );
 		exitLabel = targetEntry->useFallDefaultExit();
 		// Check that fallthrough default comes before the default clause.
-		if ( !targetEntry->isFallDefaultValid() ) {
+		if ( ! targetEntry->isFallDefaultValid() ) {
 			SemanticError( stmt->location, "'fallthrough default' must precede the 'default' clause" );
 		}
@@ -373,5 +370,5 @@
 	// If default, mark seen.
 	if ( stmt->isDefault() ) {
-		assert( !enclosing_control_structures.empty() );
+		assert( ! enclosing_control_structures.empty() );
 		enclosing_control_structures.back().seenDefault();
 	}
@@ -399,6 +396,5 @@
 		Entry & entry = enclosing_control_structures.back();
 		if ( entry.isFallUsed() ) {
-			mutStmt->stmts.push_back(
-				labelledNullStmt( mutStmt->location, entry.useFallExit() ) );
+			mutStmt->stmts.push_back( labelledNullStmt( mutStmt->location, entry.useFallExit() ) );
 		}
 	}
@@ -411,7 +407,5 @@
 		if ( entry.isFallDefaultUsed() ) {
 			// Add fallthrough default label if necessary.
-			push_front( mutStmt->stmts, labelledNullStmt(
-							stmt->location, entry.useFallDefaultExit()
-							) );
+			push_front( mutStmt->stmts, labelledNullStmt( stmt->location, entry.useFallDefaultExit() ) );
 		}
 	}
@@ -420,5 +414,5 @@
 
 void MultiLevelExitCore::previsit( const IfStmt * stmt ) {
-	bool labeledBlock = !stmt->labels.empty();
+	bool labeledBlock = ! stmt->labels.empty();
 	if ( labeledBlock ) {
 		Label breakLabel = newLabel( "blockBreak", stmt );
@@ -429,8 +423,8 @@
 
 const IfStmt * MultiLevelExitCore::postvisit( const IfStmt * stmt ) {
-	bool labeledBlock = !stmt->labels.empty();
+	bool labeledBlock = ! stmt->labels.empty();
 	if ( labeledBlock ) {
 		auto this_label = enclosing_control_structures.back().useBreakExit();
-		if ( !this_label.empty() ) {
+		if ( ! this_label.empty() ) {
 			break_label = this_label;
 		}
@@ -448,14 +442,11 @@
 	auto it = find_if( stmt->stmts.rbegin(), stmt->stmts.rend(), isDefaultCase );
 
-	const CaseStmt * defaultCase = it != stmt->stmts.rend()
-		? (it)->strict_as<CaseStmt>() : nullptr;
-	Label defaultLabel = defaultCase
-		? newLabel( "fallThroughDefault", defaultCase )
-		: Label( stmt->location, "" );
+	const CaseStmt * defaultCase = it != stmt->stmts.rend() ? (it)->strict_as<CaseStmt>() : nullptr;
+	Label defaultLabel = defaultCase ? newLabel( "fallThroughDefault", defaultCase ) : Label( stmt->location, "" );
 	enclosing_control_structures.emplace_back( stmt, label, defaultLabel );
 	GuardAction( [this]() { enclosing_control_structures.pop_back(); } );
 
-	// Collect valid labels for fallthrough. It starts with all labels at
-	// this level, then remove as each is seen during traversal.
+	// Collect valid labels for fallthrough. It starts with all labels at this level, then remove as each is seen during
+	// traversal.
 	for ( const Stmt * stmt : stmt->stmts ) {
 		auto * caseStmt = strict_dynamic_cast< const CaseStmt * >( stmt );
@@ -471,5 +462,5 @@
 
 const SwitchStmt * MultiLevelExitCore::postvisit( const SwitchStmt * stmt ) {
-	assert( !enclosing_control_structures.empty() );
+	assert( ! enclosing_control_structures.empty() );
 	Entry & entry = enclosing_control_structures.back();
 	assert( entry.stmt == stmt );
@@ -477,11 +468,9 @@
 	// Only run to generate the break label.
 	if ( entry.isBreakUsed() ) {
-		// To keep the switch statements uniform (all direct children of a
-		// SwitchStmt should be CastStmts), append the exit label and break
-		// to the last case, create a default case is there are no cases.
+		// To keep the switch statements uniform (all direct children of a SwitchStmt should be CastStmts), append the
+		// exit label and break to the last case, create a default case if no cases.
 		SwitchStmt * mutStmt = mutate( stmt );
 		if ( mutStmt->stmts.empty() ) {
-			mutStmt->stmts.push_back( new CaseStmt(
-										  mutStmt->location, nullptr, {} ));
+			mutStmt->stmts.push_back( new CaseStmt( mutStmt->location, nullptr, {} ) );
 		}
 
@@ -507,5 +496,5 @@
 
 void MultiLevelExitCore::previsit( const TryStmt * stmt ) {
-	bool isLabeled = !stmt->labels.empty();
+	bool isLabeled = ! stmt->labels.empty();
 	if ( isLabeled ) {
 		Label breakLabel = newLabel( "blockBreak", stmt );
@@ -516,8 +505,8 @@
 
 void MultiLevelExitCore::postvisit( const TryStmt * stmt ) {
-	bool isLabeled = !stmt->labels.empty();
+	bool isLabeled = ! stmt->labels.empty();
 	if ( isLabeled ) {
 		auto this_label = enclosing_control_structures.back().useBreakExit();
-		if ( !this_label.empty() ) {
+		if ( ! this_label.empty() ) {
 			break_label = this_label;
 		}
@@ -526,7 +515,5 @@
 
 void MultiLevelExitCore::previsit( const FinallyStmt * ) {
-	GuardAction([this, old = move(enclosing_control_structures)](){
-					enclosing_control_structures = move(old);
-				});
+	GuardAction([this, old = move( enclosing_control_structures)](){ enclosing_control_structures = move(old); });
 	enclosing_control_structures = vector<Entry>();
 	GuardValue( inFinally ) = true;
@@ -575,11 +562,10 @@
 template<typename LoopNode>
 const LoopNode * MultiLevelExitCore::posthandleLoopStmt( const LoopNode * loopStmt ) {
-	assert( !enclosing_control_structures.empty() );
+	assert( ! enclosing_control_structures.empty() );
 	Entry & entry = enclosing_control_structures.back();
 	assert( entry.stmt == loopStmt );
 
 	// Now check if the labels are used and add them if so.
-	return mutate_field(
-		loopStmt, &LoopNode::body, mutateLoop( loopStmt->body, entry ) );
+	return mutate_field( loopStmt, &LoopNode::body, mutateLoop( loopStmt->body, entry ) );
 	// this call to mutate_field compares loopStmt->body and the result of mutateLoop
 	// 		if they are the same the node isn't mutated, if they differ then the new mutated node is returned
@@ -609,12 +595,11 @@
 		}
 
-		if ( !break_label.empty() ) {
-			ret.push_back(
-				labelledNullStmt( ret.back()->location, break_label ) );
+		if ( ! break_label.empty() ) {
+			ret.push_back( labelledNullStmt( ret.back()->location, break_label ) );
 			break_label = Label( CodeLocation(), "" );
 		}
 	}
 
-	if ( !errors.isEmpty() ) {
+	if ( ! errors.isEmpty() ) {
 		throw errors;
 	}
