Index: src/Parser/DeclarationNode.cc
===================================================================
--- src/Parser/DeclarationNode.cc	(revision e612146ca26ec8e8adeb5426e498fe10f3523f40)
+++ src/Parser/DeclarationNode.cc	(revision e3e16bcf91a7300a6d1f71eaad04e2f3f498cfc2)
@@ -14,5 +14,5 @@
 //
 
-#include <cassert>                 // for assert, assertf, safe_dynamic_cast
+#include <cassert>                 // for assert, assertf, strict_dynamic_cast
 #include <iterator>                // for back_insert_iterator
 #include <list>                    // for list
@@ -1027,5 +1027,5 @@
 
 	if ( asmStmt ) {
-		return new AsmDecl( safe_dynamic_cast<AsmStmt *>( asmStmt->build() ) );
+		return new AsmDecl( strict_dynamic_cast<AsmStmt *>( asmStmt->build() ) );
 	} // if
 
Index: src/Parser/StatementNode.cc
===================================================================
--- src/Parser/StatementNode.cc	(revision e612146ca26ec8e8adeb5426e498fe10f3523f40)
+++ src/Parser/StatementNode.cc	(revision e3e16bcf91a7300a6d1f71eaad04e2f3f498cfc2)
@@ -14,5 +14,5 @@
 //
 
-#include <cassert>                 // for assert, safe_dynamic_cast, assertf
+#include <cassert>                 // for assert, strict_dynamic_cast, assertf
 #include <list>                    // for list
 #include <memory>                  // for unique_ptr
@@ -57,5 +57,5 @@
 	// find end of list and maintain previous pointer
 	for ( StatementNode * curr = prev; curr != nullptr; curr = (StatementNode *)curr->get_next() ) {
-		StatementNode *node = safe_dynamic_cast< StatementNode * >(curr);
+		StatementNode *node = strict_dynamic_cast< StatementNode * >(curr);
 		assert( dynamic_cast< CaseStmt * >(node->stmt.get()) );
 		prev = curr;
@@ -106,6 +106,6 @@
 		for ( Statement * stmt : init ) {
 			// build the && of all of the declared variables compared against 0
-			DeclStmt * declStmt = safe_dynamic_cast< DeclStmt * >( stmt );
-			DeclarationWithType * dwt = safe_dynamic_cast< DeclarationWithType * >( declStmt->decl );
+			DeclStmt * declStmt = strict_dynamic_cast< DeclStmt * >( stmt );
+			DeclarationWithType * dwt = strict_dynamic_cast< DeclarationWithType * >( declStmt->decl );
 			Expression * nze = notZeroExpr( new VariableExpr( dwt ) );
 			cond = cond ? new LogicalExpr( cond, nze, true ) : nze;
@@ -202,5 +202,5 @@
 	std::list< CatchStmt * > branches;
 	buildMoveList< CatchStmt, StatementNode >( catch_stmt, branches );
-	CompoundStmt *tryBlock = safe_dynamic_cast< CompoundStmt * >(maybeMoveBuild< Statement >(try_stmt));
+	CompoundStmt *tryBlock = strict_dynamic_cast< CompoundStmt * >(maybeMoveBuild< Statement >(try_stmt));
 	FinallyStmt *finallyBlock = dynamic_cast< FinallyStmt * >(maybeMoveBuild< Statement >(finally_stmt) );
 	return new TryStmt( noLabels, tryBlock, branches, finallyBlock );
