From c81e096f5d2e31d04a412b48b23d46cef33a0866 Mon Sep 17 00:00:00 2001 From: shyouhei Date: Fri, 19 Jan 2018 01:45:36 +0000 Subject: INFINITY is float. That of double is HUGE_VAL. It seems HUGE_VAL is already used. Why not eliminate INTINITY. NAN is also float. That of double is called nan(). This is also fixed. Signed-off-by: Urabe, Shyouhei git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61938 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- marshal.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) (limited to 'marshal.c') diff --git a/marshal.c b/marshal.c index a7eb3edc8a..c6c3922283 100644 --- a/marshal.c +++ b/marshal.c @@ -1678,13 +1678,18 @@ r_object0(struct load_arg *arg, int *ivp, VALUE extmod) const char *ptr = RSTRING_PTR(str); if (strcmp(ptr, "nan") == 0) { - d = NAN; + d = +#ifdef HAVE_NANF + nan(""); +#else + (double)NAN; +#endif } else if (strcmp(ptr, "inf") == 0) { - d = INFINITY; + d = HUGE_VAL; } else if (strcmp(ptr, "-inf") == 0) { - d = -INFINITY; + d = -HUGE_VAL; } else { char *e; -- cgit v1.2.3