about summary refs log tree commit diff stats
path: root/030container.cc
diff options
context:
space:
mode:
Diffstat (limited to '030container.cc')
-rw-r--r--030container.cc3
1 files changed, 2 insertions, 1 deletions
diff --git a/030container.cc b/030container.cc
index 4cc0d58e..1f86d054 100644
--- a/030container.cc
+++ b/030container.cc
@@ -433,6 +433,7 @@ void insert_container(const string& command, kind_of_type kind, istream& in) {
 
 void replace_unknown_types_with_unique_ordinals(type_tree* type, const type_info& info) {
   if (!type) return;
+  // End insert_container Special-cases
   if (!type->name.empty()) {
     if (contains_key(Type_ordinal, type->name)) {
       type->value = get(Type_ordinal, type->name);
@@ -440,12 +441,12 @@ void replace_unknown_types_with_unique_ordinals(type_tree* type, const type_info
     else if (is_integer(type->name)) {  // sometimes types will contain non-type tags, like numbers for the size of an array
       type->value = 0;
     }
-    // End insert_container Special-cases
     else if (type->name != "->") {  // used in recipe types
       put(Type_ordinal, type->name, Next_type_ordinal++);
       type->value = get(Type_ordinal, type->name);
     }
   }
+  recurse:
   replace_unknown_types_with_unique_ordinals(type->left, info);
   replace_unknown_types_with_unique_ordinals(type->right, info);
 }