From 57c7e94c8f8d456c1737bd7dd2bf5c6962003cd0 Mon Sep 17 00:00:00 2001 From: Graydon Hoare Date: Fri, 15 Oct 2010 22:09:09 -0700 Subject: Encode and decode tag types in dwarf properly. Add list module to std. Shift rustc to use std.util.option. Fix various dependent bugs. Closes #73. --- src/boot/me/resolve.ml | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'src/boot/me/resolve.ml') diff --git a/src/boot/me/resolve.ml b/src/boot/me/resolve.ml index 8372b64a..d0b54a74 100644 --- a/src/boot/me/resolve.ml +++ b/src/boot/me/resolve.ml @@ -445,8 +445,12 @@ let type_resolving_visitor (fun (s,_) -> (slot_ty (resolve_slot_identified s).node)) slots in - htab_put tinfo.tag_idents id (n, item.id, ttup); - htab_put tinfo.tag_nums n (id, item.id, ttup); + if not (Hashtbl.mem tinfo.tag_idents id) + then + begin + htab_put tinfo.tag_idents id (n, item.id, ttup); + htab_put tinfo.tag_nums n (id, item.id, ttup); + end | _ -> resolve_and_store_type () with -- cgit v1.2.3