From e29efb02bdaa47384eabd44031fac5ffd8ce30e0 Mon Sep 17 00:00:00 2001 From: "Yukihiro \"Matz\" Matsumoto" Date: Sat, 15 Feb 2014 19:59:26 +0900 Subject: normalize NaN after division that may generate NaN; fix #1712 --- src/vm.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/vm.c b/src/vm.c index 52510c98d..e82806e4d 100644 --- a/src/vm.c +++ b/src/vm.c @@ -7,6 +7,7 @@ #include #include #include +#include #include "mruby.h" #include "mruby/array.h" #include "mruby/class.h" @@ -1712,6 +1713,11 @@ mrb_context_run(mrb_state *mrb, struct RProc *proc, mrb_value self, unsigned int default: goto L_SEND; } +#ifdef MRB_NAN_BOXING + if (isnan(regs[a].attr_f)) { + regs[a] = mrb_float_value(mrb, regs[a].attr_f); + } +#endif NEXT; } -- cgit v1.2.3