Index: src/Common/PassVisitor.impl.h
===================================================================
--- src/Common/PassVisitor.impl.h	(revision 6c7c63cec71bc05334536c6b43fd8ddca9d0a39c)
+++ src/Common/PassVisitor.impl.h	(revision bcef6c82b57b38b1058b64ec65be7c8c694ad68c)
@@ -1121,10 +1121,18 @@
 template< typename pass_type >
 void PassVisitor< pass_type >::visit( ImplicitCtorDtorStmt * node ) {
-	VISIT_BODY( node );
+	VISIT_START( node );
+
+	maybeAccept_impl( node->callStmt, *this );
+
+	VISIT_END( node );
 }
 
 template< typename pass_type >
 Statement * PassVisitor< pass_type >::mutate( ImplicitCtorDtorStmt * node ) {
-	MUTATE_BODY( Statement, node );
+	MUTATE_START( node );
+
+	maybeMutate_impl( node->callStmt, *this );
+
+	MUTATE_END( Statement, node );
 }
 
@@ -2008,5 +2016,18 @@
 template< typename pass_type >
 void PassVisitor< pass_type >::visit( VoidType * node ) {
-	VISIT_BODY( node );
+	VISIT_START( node );
+
+	maybeAccept_impl( node->forall, *this );
+
+	VISIT_END( node );
+}
+
+template< typename pass_type >
+Type * PassVisitor< pass_type >::mutate( VoidType * node ) {
+	MUTATE_START( node );
+
+	maybeMutate_impl( node->forall, *this );
+
+	MUTATE_END( Type, node );
 }
 
@@ -2235,8 +2256,4 @@
 
 //---------------------------------------------------------------------------------------------------------------
-template< typename pass_type >
-Type * PassVisitor< pass_type >::mutate( VoidType * node ) {
-	MUTATE_BODY( Type, node );
-}
 
 template< typename pass_type >
Index: src/SymTab/Indexer.cc
===================================================================
--- src/SymTab/Indexer.cc	(revision 6c7c63cec71bc05334536c6b43fd8ddca9d0a39c)
+++ src/SymTab/Indexer.cc	(revision bcef6c82b57b38b1058b64ec65be7c8c694ad68c)
@@ -457,5 +457,5 @@
 
 		// add to indexer
-		tables->idTable[ name ][ mangleName ] = { decl, baseExpr, deleteStmt };
+		tables->idTable[ name ][ mangleName ] = IdData{ decl, baseExpr, deleteStmt };
 		++tables->size;
 	}
Index: src/SymTab/Indexer.h
===================================================================
--- src/SymTab/Indexer.h	(revision 6c7c63cec71bc05334536c6b43fd8ddca9d0a39c)
+++ src/SymTab/Indexer.h	(revision bcef6c82b57b38b1058b64ec65be7c8c694ad68c)
@@ -46,4 +46,8 @@
 			/// non-null if this declaration is deleted
 			BaseSyntaxNode * deleteStmt = nullptr;
+
+			// NOTE: shouldn't need either of these constructors, but gcc-4 does not properly support initializer lists with default members.
+			IdData() = default;
+			IdData( DeclarationWithType * id, Expression * baseExpr, BaseSyntaxNode * deleteStmt ) : id( id ), baseExpr( baseExpr ), deleteStmt( deleteStmt ) {}
 
 			Expression * combine() const;
