Fix for an array-of-record model generation assert-fail (assert was too strong).
authorMorgan Deters <mdeters@cs.nyu.edu>
Thu, 2 Oct 2014 12:47:45 +0000 (08:47 -0400)
committerMorgan Deters <mdeters@cs.nyu.edu>
Thu, 2 Oct 2014 12:47:45 +0000 (08:47 -0400)
src/util/array_store_all.h

index bccefdd58699350cc71a4f57803037ef69606a43..b1d624266c1578df2594926fd052baaa2d2e1a60 100644 (file)
@@ -46,7 +46,7 @@ public:
     // because this check is done in production builds too
     CheckArgument(type.isArray(), type, "array store-all constants can only be created for array types, not `%s'", type.toString().c_str());
 
-    CheckArgument(expr.getType().isSubtypeOf(type.getConstituentType()), expr, "expr type `%s' does not match constituent type of array type `%s'", expr.getType().toString().c_str(), type.toString().c_str());
+    CheckArgument(expr.getType().isComparableTo(type.getConstituentType()), expr, "expr type `%s' does not match constituent type of array type `%s'", expr.getType().toString().c_str(), type.toString().c_str());
     CheckArgument(expr.isConst(), expr, "ArrayStoreAll requires a constant expression");
   }