diff options
Diffstat (limited to '020run.cc')
-rw-r--r-- | 020run.cc | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/020run.cc b/020run.cc index 746bc9cd..de957dbb 100644 --- a/020run.cc +++ b/020run.cc @@ -329,6 +329,16 @@ int size_of(const reagent& r) { } int size_of(const type_tree* type) { if (!type) return 0; + if (type->atom) { + if (type->value == -1) return 1; // error value, but we'll raise it elsewhere + if (type->value == 0) return 1; + // End size_of(type) Atom Special-cases + } + else { + assert(type->left->atom); + if (type->left->name == "address") return 1; + // End size_of(type) Non-atom Special-cases + } // End size_of(type) Special-cases return 1; } |