about summary refs log tree commit diff
diff options
context:
space:
mode:
authorGraydon Hoare <graydon@mozilla.com>2010-07-22 15:25:29 -0700
committerGraydon Hoare <graydon@mozilla.com>2010-07-22 15:25:29 -0700
commit1cb4a57b7b2fda8db6a225207c9b9c090ba565d1 (patch)
treed7219c8333973406ea5f2cb9d9fd848d189bede1
parent0f220ecae921f961f0c40395218de86cc2b33849 (diff)
downloadrust-1cb4a57b7b2fda8db6a225207c9b9c090ba565d1.tar.gz
rust-1cb4a57b7b2fda8db6a225207c9b9c090ba565d1.zip
Re-classify some err / bug cases as unimpl. Ideally rustboot should never produce a backtrace.
-rw-r--r--src/boot/fe/pexp.ml2
-rw-r--r--src/boot/llvm/lltrans.ml10
-rw-r--r--src/boot/me/dwarf.ml2
-rw-r--r--src/boot/me/trans.ml7
-rw-r--r--src/boot/me/type.ml2
-rw-r--r--src/boot/me/walk.ml2
6 files changed, 14 insertions, 11 deletions
diff --git a/src/boot/fe/pexp.ml b/src/boot/fe/pexp.ml
index 27ec881077e..f828cc5fbb7 100644
--- a/src/boot/fe/pexp.ml
+++ b/src/boot/fe/pexp.ml
@@ -1011,7 +1011,7 @@ let expand_pexp_custom
             [| spanner (Ast.STMT_init_str (dst_lval, r())) |]
 
       | _ ->
-          raise (err ("unsupported syntax extension: " ^ nstr) ps)
+          raise (err ("unknown syntax extension: " ^ nstr) ps)
 ;;
 
 (* 
diff --git a/src/boot/llvm/lltrans.ml b/src/boot/llvm/lltrans.ml
index 51a05c74154..cf75e5c5af3 100644
--- a/src/boot/llvm/lltrans.ml
+++ b/src/boot/llvm/lltrans.ml
@@ -397,7 +397,8 @@ let trans_crate
     match ty with
         Ast.TY_port _
       | Ast.TY_chan _
-      | Ast.TY_task -> bug () "unimplemented ty in Lltrans.free_ty"
+      | Ast.TY_task ->
+          Common.unimpl None "ty %a in Lltrans.free_ty" Ast.sprintf_ty ty
       | _ -> trans_free llbuilder lltask ptr
   in
 
@@ -428,7 +429,8 @@ let trans_crate
       | Ast.TY_iso _
       | Ast.TY_fn _
       | Ast.TY_obj _ ->
-          bug () "unimplemented ty in Lltrans.iter_ty_parts_full"
+          Common.unimpl None
+            "ty %a in Lltrans.iter_ty_parts_full" Ast.sprintf_ty ty
 
       | _ -> ()
 
@@ -1006,8 +1008,8 @@ let trans_crate
                         | Ast.TY_mach (TY_u32) | Ast.TY_mach (TY_i8)
                         | Ast.TY_mach (TY_i16) | Ast.TY_mach (TY_i32) ->
                             trans_log_int a
-                        | _ -> Semant.bugi sem_cx head.id
-                            "unimplemented logging type"
+                        | _ -> Common.unimpl (Some head.id)
+                            "logging type"
                   end;
                   trans_tail ()
 
diff --git a/src/boot/me/dwarf.ml b/src/boot/me/dwarf.ml
index 3aaa1f2f61d..d3fb81dec33 100644
--- a/src/boot/me/dwarf.ml
+++ b/src/boot/me/dwarf.ml
@@ -2082,7 +2082,7 @@ let dwarf_visitor
           | Ast.TY_mutable t -> mutable_type t
           | Ast.TY_box t -> box_type t
           | _ ->
-              bug () "unimplemented dwarf encoding for type %a"
+              unimpl None "dwarf encoding for type %a"
                 Ast.sprintf_ty ty
   in
 
diff --git a/src/boot/me/trans.ml b/src/boot/me/trans.ml
index 6ec88f997f8..4902c300640 100644
--- a/src/boot/me/trans.ml
+++ b/src/boot/me/trans.ml
@@ -2476,7 +2476,7 @@ let trans_visitor
         end
       else
         begin
-          bug () "Unsupported form of seq iter: src != dst."
+          unimpl None "seq iter with src != dst."
         end
 
 
@@ -4390,7 +4390,7 @@ let trans_visitor
       | Ast.TY_mach (TY_i8) | Ast.TY_mach (TY_i16)
       | Ast.TY_mach (TY_i32) ->
           trans_log_int a
-      | _ -> bugi cx id "unimplemented logging type"
+      | _ -> unimpl (Some id) "logging type"
 
 
   and trans_stmt_full (stmt:Ast.stmt) : unit =
@@ -5043,7 +5043,8 @@ let trans_visitor
         Ast.MOD_ITEM_fn f -> trans_required_fn i.id f.Ast.fn_body.id
       | Ast.MOD_ITEM_mod _ -> ()
       | Ast.MOD_ITEM_type _ -> ()
-      | _ -> bugi cx i.id "unsupported type of require: %s" (path_name())
+      | _ -> unimpl (Some i.id)
+          "unsupported type of require: %s" (path_name())
   in
 
   let visit_obj_drop_pre obj b =
diff --git a/src/boot/me/type.ml b/src/boot/me/type.ml
index e4eb98a2d07..45651ab0df6 100644
--- a/src/boot/me/type.ml
+++ b/src/boot/me/type.ml
@@ -470,7 +470,7 @@ let check_stmt (cx:Semant.ctxt) : (fn_ctx -> Ast.stmt -> unit) =
             sprintf_ltype lty
       | Some _, (LTYPE_poly _) ->
           (* FIXME: auto-instantiate *)
-          Common.err
+          Common.unimpl
             None
             "sorry, automatic polymorphic instantiation isn't supported yet; \
               please supply type parameters explicitly"
diff --git a/src/boot/me/walk.ml b/src/boot/me/walk.ml
index fac44170d70..acdb93717b3 100644
--- a/src/boot/me/walk.ml
+++ b/src/boot/me/walk.ml
@@ -523,7 +523,7 @@ and walk_stmt
       | Ast.STMT_note _
       | Ast.STMT_alt_type _
       | Ast.STMT_alt_port _ ->
-          bug () "unimplemented statement type in Walk.walk_stmt"
+          unimpl (Some s.id) "statement type in Walk.walk_stmt"
   in
     walk_bracketed
       v.visit_stmt_pre