aboutsummaryrefslogtreecommitdiff
path: root/configure.ml
diff options
context:
space:
mode:
Diffstat (limited to 'configure.ml')
-rw-r--r--configure.ml7
1 files changed, 4 insertions, 3 deletions
diff --git a/configure.ml b/configure.ml
index 5f326425fc..af07ec4bb0 100644
--- a/configure.ml
+++ b/configure.ml
@@ -944,9 +944,10 @@ let () =
let add = (+.) in
let b = ldexp 1. 53 in
let s = add 1. (ldexp 1. (-52)) in
- if (add b s <= b || add b 1. <> b) && not sse2_math then
- die "Detected double-rounding due to the use of intermediate \
- 80-bit floating-point representation, and SSE2_MATH is not available."
+ if (add b s <= b || add b 1. <> b || ldexp 1. (-1074) <= 0.)
+ && not sse2_math then
+ die "Detected non IEEE-754 compliant architecture (or wrong \
+ rounding mode). Use of Float is thus unsafe."
(** * OCaml runtime flags *)