aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/lj_opt_fold.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/lj_opt_fold.c b/src/lj_opt_fold.c
index aa80a6aa..e4818a92 100644
--- a/src/lj_opt_fold.c
+++ b/src/lj_opt_fold.c
@@ -627,7 +627,14 @@ LJFOLD(CONV KNUM IRCONV_U32_NUM)
627LJFOLDF(kfold_conv_knum_u32_num) 627LJFOLDF(kfold_conv_knum_u32_num)
628{ 628{
629 lua_assert((fins->op2 & IRCONV_TRUNC)); 629 lua_assert((fins->op2 & IRCONV_TRUNC));
630#ifdef _MSC_VER
631 { /* Workaround for MSVC bug. */
632 volatile uint32_t u = (uint32_t)knumleft;
633 return INTFOLD((int32_t)u);
634 }
635#else
630 return INTFOLD((int32_t)(uint32_t)knumleft); 636 return INTFOLD((int32_t)(uint32_t)knumleft);
637#endif
631} 638}
632 639
633LJFOLD(CONV KNUM IRCONV_I64_NUM) 640LJFOLD(CONV KNUM IRCONV_I64_NUM)