diff options
author | Jacques-Henri Jourdan <jacques-henri.jourdan@inria.fr> | 2015-11-04 03:04:21 +0100 |
---|---|---|
committer | Jacques-Henri Jourdan <jacques-henri.jourdan@inria.fr> | 2015-11-04 03:04:21 +0100 |
commit | 5664fddcab15ef4482d583673c75e07bd1e96d0a (patch) | |
tree | 878b22860e69405ba5cf6fd2798731dac8ce660c /checklink/Safe32.ml | |
parent | b960c83725d7e185ac5c6e3c0d6043c7dcd2f556 (diff) | |
parent | fe73ed58ef80da7c53c124302a608948fb190229 (diff) | |
download | compcert-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.ml | 34 |
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 |