Index: src/ControlStruct/MultiLevelExit.cpp
===================================================================
--- src/ControlStruct/MultiLevelExit.cpp	(revision 92d8cda44fcecc145b517497bfceb0385a9da299)
+++ src/ControlStruct/MultiLevelExit.cpp	(revision 4a40fca7195d07e090f940cfac3fc4e3c345c052)
@@ -10,6 +10,6 @@
 // Created On       : Mon Nov  1 13:48:00 2021
 // Last Modified By : Andrew Beach
-// Last Modified On : Mon Mar 28  9:42:00 2022
-// Update Count     : 34
+// Last Modified On : Wed Sep  6 12:00:00 2023
+// Update Count     : 35
 //
 
@@ -18,5 +18,4 @@
 #include "AST/Pass.hpp"
 #include "AST/Stmt.hpp"
-#include "Common/CodeLocationTools.hpp"
 #include "LabelGeneratorNew.hpp"
 
@@ -26,4 +25,7 @@
 
 namespace ControlStruct {
+
+namespace {
+
 class Entry {
   public:
@@ -35,5 +37,5 @@
 		bool used = false;
 		Target( const Label & label ) : label( label ) {}
-		Target() : label( CodeLocation() ) {}
+		Target() : label( CodeLocation(), "" ) {}
 	};
 	Target firstTarget;
@@ -524,17 +526,12 @@
 	// if continue is used insert a continue label into the back of the body of the loop
 	if ( entry.isContUsed() ) {
-		CompoundStmt * new_body = new CompoundStmt( body->location );
-		// {}
-		new_body->kids.push_back( body );
 		// {
 		//  body
+		//  ContinueLabel: ;
 		// }
-		new_body->kids.push_back(
-			labelledNullStmt( body->location, entry.useContExit() ) );
-		// {
-		//  body
-		//  ContinueLabel: {}
-		// }
-		return new_body;
+		return new CompoundStmt( body->location, {
+			body,
+			labelledNullStmt( body->location, entry.useContExit() ),
+		} );
 	}
 
@@ -620,14 +617,13 @@
 }
 
+} // namespace
+
 const CompoundStmt * multiLevelExitUpdate(
-	const CompoundStmt * stmt,
-	const LabelToStmt & labelTable ) {
+		const CompoundStmt * stmt, const LabelToStmt & labelTable ) {
 	// Must start in the body, so FunctionDecls can be a stopping point.
 	Pass<MultiLevelExitCore> visitor( labelTable );
-	const CompoundStmt * ret = stmt->accept( visitor );
-	// There are some unset code locations slipping in, possibly by Labels.
-	const Node * node = localFillCodeLocations( ret->location, ret );
-	return strict_dynamic_cast<const CompoundStmt *>( node );
-}
+	return stmt->accept( visitor );
+}
+
 } // namespace ControlStruct
 
