Index: src/SynTree/Type.h
===================================================================
--- src/SynTree/Type.h	(revision 582ee2851d02bc30a951c8b62bf2576587e3ad25)
+++ src/SynTree/Type.h	(revision 954ef5b6ded94722e95fc32aa53a2183a230faa4)
@@ -298,5 +298,8 @@
 	void set_isStatic( bool newValue ) { isStatic = newValue; }
 
-	virtual bool isComplete() const override { return ! isVarLen; }
+	// array types are complete if they have a dimension expression or are
+	// VLAs ('*' in parameter declaration), and incomplete otherwise.
+	// See 6.7.6.2
+	virtual bool isComplete() const override { return dimension || isVarLen; }
 
 	virtual ArrayType *clone() const override { return new ArrayType( *this ); }
