The MSVC x86_64 compiler defines long as 32-bits.
[pforth] / csrc / pfinnrfp.h
index 6e2c628..23b379b 100644 (file)
@@ -23,7 +23,7 @@
 
 #ifdef PF_SUPPORT_FP
 
 
 #ifdef PF_SUPPORT_FP
 
-#define FP_DHI1 (((PF_FLOAT)(1L<<(sizeof(cell_t)*8-2)))*4.0)
+#define FP_DHI1 (((PF_FLOAT)((cell_t)1<<(sizeof(cell_t)*8-2)))*4.0)
 
     case ID_FP_D_TO_F: /* ( dlo dhi -- ) ( F: -- r ) */
         PUSH_FP_TOS;
 
     case ID_FP_D_TO_F: /* ( dlo dhi -- ) ( F: -- r ) */
         PUSH_FP_TOS;
 
     case ID_FP_FROUND:
         PUSH_TOS;
 
     case ID_FP_FROUND:
         PUSH_TOS;
-        TOS = fp_round(FP_TOS);
+        TOS = (cell_t)fp_round(FP_TOS);
         M_FP_DROP;
         break;
 
         M_FP_DROP;
         break;