summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--numeric.c3
2 files changed, 8 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 91efc83ef9..a7c428effb 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+Tue Jan 11 09:44:40 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
+
+ * numeric.c (Init_Numeric): turn off floating point exceptions
+ on bcc32. "1e300".to_f had crashed by overflow.
+
Tue Jan 11 03:10:10 2005 Minero Aoki <aamine@loveruby.net>
* lib/fileutils.rb (copy_entry): could not copy symbolic link.
diff --git a/numeric.c b/numeric.c
index 6503e26042..873272e6da 100644
--- a/numeric.c
+++ b/numeric.c
@@ -2767,6 +2767,9 @@ Init_Numeric()
#elif defined(_UNICOSMP)
/* Turn off floating point exceptions for divide by zero, etc. */
_set_Creg(0, 0);
+#elif defined(__BORLANDC__)
+ /* Turn off floating point exceptions for overflow, etc. */
+ _control87(MCW_EM, MCW_EM);
#endif
id_coerce = rb_intern("coerce");
id_to_i = rb_intern("to_i");