summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorocean <ocean@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2005-01-11 00:46:35 +0000
committerocean <ocean@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2005-01-11 00:46:35 +0000
commitc283c3e5d17c44da3dda3546be80f9bffa5ed3ef (patch)
tree5a76cb15abeed6de7b2607c4289d644c76891a80
parent84c7e974b53f0873e1a84bcf5e05cb08ac8e6c4c (diff)
downloadruby-c283c3e5d17c44da3dda3546be80f9bffa5ed3ef.tar.gz
ruby-c283c3e5d17c44da3dda3546be80f9bffa5ed3ef.tar.xz
ruby-c283c3e5d17c44da3dda3546be80f9bffa5ed3ef.zip
* numeric.c (Init_Numeric): turn off floating point exceptions
on bcc32. "1e300".to_f had crashed by overflow. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@7765 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r--ChangeLog5
-rw-r--r--numeric.c3
2 files changed, 8 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index efbc4d660..b14b04f99 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+Tue Jan 11 09:37:53 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.
+
Mon Jan 10 23:07:45 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
* variable.c (rb_autoload): hide internal data from ruby level.
diff --git a/numeric.c b/numeric.c
index abf4cda39..71a6d10c2 100644
--- a/numeric.c
+++ b/numeric.c
@@ -2768,6 +2768,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");