summaryrefslogtreecommitdiffhomepage
path: root/src/etc.c
diff options
context:
space:
mode:
authorYukihiro "Matz" Matsumoto <[email protected]>2021-08-21 14:33:59 +0900
committerYukihiro "Matz" Matsumoto <[email protected]>2021-08-21 15:25:59 +0900
commit886055b3fb047839abe13b03dd44d9e35c35d5b0 (patch)
tree0cefb864cc5ec8ca33148370fe1ccdda2bbe70b4 /src/etc.c
parent8ca40da3fe49d01b31ef4258ff578c9dd61f09b4 (diff)
downloadmruby-886055b3fb047839abe13b03dd44d9e35c35d5b0.tar.gz
mruby-886055b3fb047839abe13b03dd44d9e35c35d5b0.zip
etc.c: clear `mrb_value` if `sizeof(void*)` is bigger than `sizeof(mrb_float)`.
Diffstat (limited to 'src/etc.c')
-rw-r--r--src/etc.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/etc.c b/src/etc.c
index 4d08ba400..f2dfac9fb 100644
--- a/src/etc.c
+++ b/src/etc.c
@@ -159,6 +159,9 @@ mrb_word_boxing_float_value(mrb_state *mrb, mrb_float f)
union mrb_value_ v;
#ifndef MRB_USE_FLOAT_FULL_PRECISION
+#if defined(MRB_64BIT) && defined(MRB_USE_FLOAT32)
+ v.w = 0;
+#endif
v.f = f;
v.w = (v.w & ~3) | 2;
#else