Index: src/SymTab/Validate.cc
===================================================================
--- src/SymTab/Validate.cc	(revision 0dd9a5eb90cd65276b32272b8ae6f6266463e91b)
+++ src/SymTab/Validate.cc	(revision 3ff4c1e0a5bdf7684f93adc2524009552b75f2de)
@@ -282,5 +282,5 @@
 
 		void previsit( ObjectDecl * objDecl );
-		// void previsit( ArrayType * arrayType );
+		void previsit( ArrayType * arrayType );
 	};
 
@@ -1346,19 +1346,17 @@
 	}
 
-	// xxx - this seems to be in HoistArrayDimension now.
-
-	/*
 	void ArrayLength::previsit( ArrayType * type ) {
-		if ( type->dimension ) {
-			// need to resolve array dimensions early so that constructor code can correctly determine
-			// if a type is a VLA (and hence whether its elements need to be constructed)
-			ResolvExpr::findSingleExpression( type->dimension, Validate::SizeType->clone(), indexer );
-
-			// must re-evaluate whether a type is a VLA, now that more information is available
-			// (e.g. the dimension may have been an enumerator, which was unknown prior to this step)
-			type->isVarLen = ! InitTweak::isConstExpr( type->dimension );
-		}
-	}
-	*/
+		if (!useNewAST) {
+			if ( type->dimension ) {
+				// need to resolve array dimensions early so that constructor code can correctly determine
+				// if a type is a VLA (and hence whether its elements need to be constructed)
+				ResolvExpr::findSingleExpression( type->dimension, Validate::SizeType->clone(), indexer );
+
+				// must re-evaluate whether a type is a VLA, now that more information is available
+				// (e.g. the dimension may have been an enumerator, which was unknown prior to this step)
+				type->isVarLen = ! InitTweak::isConstExpr( type->dimension );
+			}
+		}
+	}
 
 	struct LabelFinder {
