aboutsummaryrefslogtreecommitdiffstats
path: root/checklink/Safe32.ml
diff options
context:
space:
mode:
authorJacques-Henri Jourdan <jacques-henri.jourdan@inria.fr>2015-11-04 03:04:21 +0100
committerJacques-Henri Jourdan <jacques-henri.jourdan@inria.fr>2015-11-04 03:04:21 +0100
commit5664fddcab15ef4482d583673c75e07bd1e96d0a (patch)
tree878b22860e69405ba5cf6fd2798731dac8ce660c /checklink/Safe32.ml
parentb960c83725d7e185ac5c6e3c0d6043c7dcd2f556 (diff)
parentfe73ed58ef80da7c53c124302a608948fb190229 (diff)
downloadcompcert-5664fddcab15ef4482d583673c75e07bd1e96d0a.tar.gz
compcert-5664fddcab15ef4482d583673c75e07bd1e96d0a.zip
Merge remote-tracking branch 'origin/master' into parser_fix
Diffstat (limited to 'checklink/Safe32.ml')
-rw-r--r--checklink/Safe32.ml34
1 files changed, 0 insertions, 34 deletions
diff --git a/checklink/Safe32.ml b/checklink/Safe32.ml
deleted file mode 100644
index e72563d7..00000000
--- a/checklink/Safe32.ml
+++ /dev/null
@@ -1,34 +0,0 @@
-(* "Hacker's Delight", section 2.12 *)
-
-let ( + ) x y = Int32.(
- let z = add x y in
- (* Overflow occurs iff x and y have same sign and z's sign is different *)
- if logand (logxor z x) (logxor z y) < 0l
- then raise Exc.Int32Overflow
- else z
-)
-
-let ( - ) x y = Int32.(
- let z = sub x y in
- (* Overflow occurs iff x and y have opposite signs and z and x have
- opposite signs *)
- if logand (logxor x y) (logxor z x) < 0l
- then raise Exc.Int32Overflow
- else z
-)
-
-let ( * ) x y = Int32.(
- let z = mul x y in
- if (x = min_int && y < 0l) || (y <> 0l && div z y <> x)
- then raise Exc.Int32Overflow
- else z
-)
-
-let to_int i32 = Int32.(
- let i = to_int i32 in
- if i32 = of_int i
- then i
- else raise Exc.IntOverflow
-)
-
-let of_int = Int32.of_int