From 1597211b81376e3e91dc3d27f913076900524b87 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?David=20B=C3=BChler?= <david.buhler@cea.fr>
Date: Wed, 19 Dec 2018 16:48:16 +0100
Subject: [PATCH] [Ival] Uses Error_Bottom or assert false instead of new
 uncatched exceptions.

---
 src/kernel_services/abstract_interp/ival.ml | 10 +++-------
 1 file changed, 3 insertions(+), 7 deletions(-)

diff --git a/src/kernel_services/abstract_interp/ival.ml b/src/kernel_services/abstract_interp/ival.ml
index ab8fea04807..7a70c5e190c 100644
--- a/src/kernel_services/abstract_interp/ival.ml
+++ b/src/kernel_services/abstract_interp/ival.ml
@@ -804,11 +804,9 @@ let array_filter (f : Int.t -> bool) (a : Int.t array) : t =
   done;
   array_truncate r !j
 
-exception Empty
-
 let array_map_reduce (f : 'a -> 'b) (g : 'b -> 'b -> 'b) (set : 'a array) : 'b =
   if Array.length set <= 0 then
-    raise Empty
+    raise Error_Bottom
   else
     let acc = ref (f set.(0)) in
     for i = 1 to Array.length set - 1 do
@@ -2570,8 +2568,6 @@ end
 
 (* --- Bit operators --- *)
 
-exception NoBackward
-
 module type BitOperator =
 sig
   (* Printable version of the operator *)
@@ -2609,7 +2605,7 @@ struct
     | On -> Off
 
   let backward_on = function
-    | Off -> raise NoBackward
+    | Off -> assert false
     | (On | Both) -> On
 end
 
@@ -2624,7 +2620,7 @@ struct
     | Both -> if v2 = On then On else Both
 
   let backward_off = function
-    | On -> raise NoBackward
+    | On -> assert false
     | (Off | Both) -> Off
 
   let backward_on = function
-- 
GitLab