about summary refs log tree commit diff stats
path: root/044space.cc
diff options
context:
space:
mode:
Diffstat (limited to '044space.cc')
-rw-r--r--044space.cc8
1 files changed, 7 insertions, 1 deletions
diff --git a/044space.cc b/044space.cc
index 55e3cc23..2d1a18f0 100644
--- a/044space.cc
+++ b/044space.cc
@@ -27,6 +27,7 @@ recipe main [
 
 //:: first disable name conversion for 'default-space'
 :(scenario convert_names_passes_default_space)
+% Hide_errors = true;
 recipe main [
   default-space:number, x:number <- copy 0, 1
 ]
@@ -211,8 +212,13 @@ long long int address(long long int offset, long long int base) {
 
 :(after "void write_memory(reagent x, vector<double> data)")
   if (x.name == "default-space") {
-    if (!scalar(data))
+    if (!scalar(data)
+        || SIZE(x.types) != 3
+        || x.types.at(0) != Type_ordinal["address"]
+        || x.types.at(1) != Type_ordinal["array"]
+        || x.types.at(2) != Type_ordinal["location"]) {
       raise_error << maybe(current_recipe_name()) << "'default-space' should be of type address:array:location, but tried to write " << to_string(data) << '\n' << end();
+    }
     Current_routine->calls.front().default_space = data.at(0);
     return;
   }