From 332a04af735baf349edb33aa5ba2b3477e2b4b6c Mon Sep 17 00:00:00 2001 From: Tomasz Dąbrowski Date: Mon, 25 Sep 2017 16:23:31 +0200 Subject: fix: src\numeric.c(897): warning C4244: 'function': conversion from 'mrb_int' to 'mrb_float', possible loss of data --- src/numeric.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/numeric.c') diff --git a/src/numeric.c b/src/numeric.c index afb8415a0..7fe4474b1 100644 --- a/src/numeric.c +++ b/src/numeric.c @@ -877,7 +877,7 @@ static mrb_value flo_or(mrb_state *mrb, mrb_value x); static mrb_value flo_xor(mrb_state *mrb, mrb_value x); #define bit_op(x,y,op1,op2) do {\ if (mrb_fixnum_p(y)) return mrb_fixnum_value(mrb_fixnum(x) op2 mrb_fixnum(y));\ - return flo_ ## op1(mrb, mrb_float_value(mrb, mrb_fixnum(x)));\ + return flo_ ## op1(mrb, mrb_float_value(mrb, (mrb_float)mrb_fixnum(x)));\ } while(0) /* 15.2.8.3.9 */ -- cgit v1.2.3 From 4a0c9c9e31bdb083c2df93bb6127d8ef931b1392 Mon Sep 17 00:00:00 2001 From: Tomasz Dąbrowski Date: Mon, 25 Sep 2017 16:26:09 +0200 Subject: fix: src\numeric.c(954): warning C4334: '<<': result of 32-bit shift implicitly converted to 64 bits (was 64-bit shift intended?) --- src/numeric.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/numeric.c') diff --git a/src/numeric.c b/src/numeric.c index 7fe4474b1..4ec78174e 100644 --- a/src/numeric.c +++ b/src/numeric.c @@ -951,7 +951,7 @@ lshift(mrb_state *mrb, mrb_int val, mrb_int width) (val < (MRB_INT_MIN >> width))) { goto bit_overflow; } - return mrb_fixnum_value(val * (1u << width)); + return mrb_fixnum_value(val * ((mrb_int)1 << width)); } bit_overflow: -- cgit v1.2.3 From f0c1074b079150d38818312aac586d23f6213ae9 Mon Sep 17 00:00:00 2001 From: Tomasz Dąbrowski Date: Mon, 25 Sep 2017 16:32:55 +0200 Subject: fix: src\numeric.c(1215): warning C4244: 'function': conversion from 'mrb_int' to 'int', possible loss of data --- include/mruby/numeric.h | 2 +- src/numeric.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) (limited to 'src/numeric.c') diff --git a/include/mruby/numeric.h b/include/mruby/numeric.h index 40c8c4a20..042311df8 100644 --- a/include/mruby/numeric.h +++ b/include/mruby/numeric.h @@ -25,7 +25,7 @@ MRB_BEGIN_DECL #define FIXABLE_FLOAT(f) TYPED_FIXABLE(f,double) MRB_API mrb_value mrb_flo_to_fixnum(mrb_state *mrb, mrb_value val); -MRB_API mrb_value mrb_fixnum_to_str(mrb_state *mrb, mrb_value x, int base); +MRB_API mrb_value mrb_fixnum_to_str(mrb_state *mrb, mrb_value x, mrb_int base); /* ArgumentError if format string doesn't match /%(\.[0-9]+)?[aAeEfFgG]/ */ MRB_API mrb_value mrb_float_to_str(mrb_state *mrb, mrb_value x, const char *fmt); MRB_API mrb_float mrb_to_flo(mrb_state *mrb, mrb_value x); diff --git a/src/numeric.c b/src/numeric.c index 4ec78174e..8c7d448bd 100644 --- a/src/numeric.c +++ b/src/numeric.c @@ -1162,7 +1162,7 @@ fix_minus(mrb_state *mrb, mrb_value self) MRB_API mrb_value -mrb_fixnum_to_str(mrb_state *mrb, mrb_value x, int base) +mrb_fixnum_to_str(mrb_state *mrb, mrb_value x, mrb_int base) { char buf[MRB_INT_BIT+1]; char *b = buf + sizeof buf; -- cgit v1.2.3