about summary refs log tree commit diff stats
path: root/014types.cc
diff options
context:
space:
mode:
authorKartik K. Agaram <vc@akkartik.com>2015-05-10 13:09:53 -0700
committerKartik K. Agaram <vc@akkartik.com>2015-05-10 13:09:53 -0700
commitd9fbe9c1ca8919f0dba5d5b606b1d5609d3ee73a (patch)
tree2cb065c43ef186c91c8a43f23568539ff55cc7a2 /014types.cc
parent7f34d0f7067ce1576f3a4e9d7f23ada18e8ca0d1 (diff)
downloadmu-d9fbe9c1ca8919f0dba5d5b606b1d5609d3ee73a.tar.gz
1339
Diffstat (limited to '014types.cc')
-rw-r--r--014types.cc10
1 files changed, 7 insertions, 3 deletions
diff --git a/014types.cc b/014types.cc
index 775db323..ca089a64 100644
--- a/014types.cc
+++ b/014types.cc
@@ -22,9 +22,13 @@ void insert_container(const string& command, kind_of_type kind, istream& in) {
   skip_whitespace(in);
   string name = next_word(in);
   trace("parse") << "reading " << command << ' ' << name;
-//?   cout << name << '\n'; //? 1
-  assert(Type_number.find(name) == Type_number.end());
-  Type_number[name] = Next_type_number++;
+//?   cout << name << '\n'; //? 2
+//?   if (Type_number.find(name) != Type_number.end()) //? 1
+//?     cerr << Type_number[name] << '\n'; //? 1
+  if (Type_number.find(name) == Type_number.end()
+      || Type_number[name] == 0) {
+    Type_number[name] = Next_type_number++;
+  }
   skip_bracket(in, "'container' must begin with '['");
   assert(Type.find(Type_number[name]) == Type.end());
   type_info& t = Type[Type_number[name]];