diff --git a/compile.c b/compile.c index e121592d1e..ac4e5bac22 100644 --- a/compile.c +++ b/compile.c @@ -4017,7 +4017,7 @@ iseq_compile_each(rb_iseq_t *iseq, LINK_ANCHOR *ret, NODE * node, int poped) DECL_ANCHOR(args); VALUE argc; unsigned int flag = 0; - VALUE asgnflag = 0; + unsigned int asgnflag = 0; ID id = node->nd_mid; int boff = 0; diff --git a/gc.c b/gc.c index 03af1eaf7b..5ee5beea26 100644 --- a/gc.c +++ b/gc.c @@ -935,7 +935,7 @@ static void rgengc_rememberset_mark(rb_objspace_t *objspace, rb_heap_t *heap); static inline int RVALUE_FLAGS_AGE(VALUE flags) { - return (flags & (FL_PROMOTED0 | FL_PROMOTED1)) >> RVALUE_AGE_SHIFT; + return (int)((flags & (FL_PROMOTED0 | FL_PROMOTED1)) >> RVALUE_AGE_SHIFT); } #endif /* USE_RGENGC */ @@ -1396,7 +1396,7 @@ heap_page_allocate(rb_objspace_t *objspace) if ((VALUE)start % sizeof(RVALUE) != 0) { int delta = (int)(sizeof(RVALUE) - ((VALUE)start % sizeof(RVALUE))); start = (RVALUE*)((VALUE)start + delta); - limit = (HEAP_SIZE - (int)((VALUE)start - (VALUE)page_body))/sizeof(RVALUE); + limit = (HEAP_SIZE - (int)((VALUE)start - (VALUE)page_body))/(int)sizeof(RVALUE); } end = start + limit;