コミットメタ情報

リビジョンa54af9e55584bed96652ba3571d8f82f8a7040ce (tree)
日時2018-06-15 00:49:39
作者Agustina Arzille <avarzille@rise...>
コミッターAgustina Arzille

ログメッセージ

Fix 32-bit builds

変更サマリ

差分

diff -r ecd20888911f -r a54af9e55584 compiler.cpp
--- a/compiler.cpp Wed Jun 13 16:31:14 2018 -0300
+++ b/compiler.cpp Thu Jun 14 12:49:39 2018 -0300
@@ -355,7 +355,7 @@
355355 {
356356 if (make_lform (cv[cv.size () - 2]) == OPX_(SETAL))
357357 {
358- cv[cv.size () - 2] += OP_SETAPOP - OP_SETA;
358+ cv[cv.size () - 2] += intobj (OP_SETAPOP - OP_SETA);
359359 return;
360360 }
361361 else
@@ -2794,7 +2794,7 @@
27942794
27952795 #undef GOTO_LABELS
27962796 #undef U_PUSH
2797-#undef U_PREV_LC
2797+#undef r_stkend
27982798 }
27992799
28002800 static object
diff -r ecd20888911f -r a54af9e55584 defs.h
--- a/defs.h Wed Jun 13 16:31:14 2018 -0300
+++ b/defs.h Thu Jun 14 12:49:39 2018 -0300
@@ -109,7 +109,7 @@
109109 }
110110
111111 // Encode a pointer into a varobject.
112- inline constexpr object encobj (const void *__ptr)
112+ inline object encobj (const void *__ptr)
113113 {
114114 return ((object)__ptr | 3);
115115 }
diff -r ecd20888911f -r a54af9e55584 floatp.cpp
--- a/floatp.cpp Wed Jun 13 16:31:14 2018 -0300
+++ b/floatp.cpp Thu Jun 14 12:49:39 2018 -0300
@@ -441,15 +441,17 @@
441441 * This wastes some memory, but is preferable to
442442 * allocating a new object. */
443443
444+ fltval tmp;
445+ tmp.link = src->link;
446+ tmp.size = src->size;
447+ tmp.full = src->full;
448+ tmp.type = typecode::FLOAT;
449+ tmp.val = sign ? -dbl : dbl;
450+
451+ memcpy (src, &tmp, sizeof (tmp));
452+ interp->retval = src->as_obj ();
453+
444454 src->type = typecode::FLOAT;
445-
446-#ifdef QP_ARCH_WIDE
447- ((fltval *)src)->val = dbl;
448- interp->retval = ptrtype (src, typecode::FLOAT) | (sign ? SIGN_BIT : 0);
449-#else
450- ((fltval *)src)->val = sign ? -dbl : dbl;
451- interp->retval = src->as_obj ();
452-#endif
453455 }
454456 else
455457 do_bigfloat:
旧リポジトリブラウザで表示