From f1a02dff580c846698c5ae327b9fb2959f34607c Mon Sep 17 00:00:00 2001 From: Tomasz Dąbrowski Date: Mon, 25 Sep 2017 16:41:25 +0200 Subject: fix: include\mruby/gc.h(43): warning C4200: nonstandard extension used: zero-sized array in struct/union --- include/mruby/gc.h | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/include/mruby/gc.h b/include/mruby/gc.h index ce214aa56..2a3ff4182 100644 --- a/include/mruby/gc.h +++ b/include/mruby/gc.h @@ -33,6 +33,13 @@ typedef enum { MRB_GC_STATE_SWEEP } mrb_gc_state; +/* Disable MSVC warning "C4200: nonstandard extension used: zero-sized array + * in struct/union" when in C++ mode */ +#ifdef _MSC_VER +#pragma warning(push) +#pragma warning(disable : 4200) +#endif + typedef struct mrb_heap_page { struct RBasic *freelist; struct mrb_heap_page *prev; @@ -43,6 +50,10 @@ typedef struct mrb_heap_page { void *objects[]; } mrb_heap_page; +#ifdef _MSC_VER +#pragma warning(pop) +#endif + typedef struct mrb_gc { mrb_heap_page *heaps; /* heaps for GC */ mrb_heap_page *sweeps; -- cgit v1.2.3 From 2e239a296e9194159ebe7a95dbb8b690d5431bc7 Mon Sep 17 00:00:00 2001 From: Tomasz Dąbrowski Date: Mon, 25 Sep 2017 16:57:01 +0200 Subject: fix: mrbgems\mruby-compiler\core\parse.y(3455): warning C4244: 'function': conversion from 'intptr_t' to 'int', possible loss of data --- mrbgems/mruby-compiler/core/parse.y | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mrbgems/mruby-compiler/core/parse.y b/mrbgems/mruby-compiler/core/parse.y index 41fc36217..ddf5856c5 100644 --- a/mrbgems/mruby-compiler/core/parse.y +++ b/mrbgems/mruby-compiler/core/parse.y @@ -3452,7 +3452,7 @@ backref_error(parser_state *p, node *n) c = (int)(intptr_t)n->car; if (c == NODE_NTH_REF) { - yyerror_i(p, "can't set variable $%" MRB_PRId, (mrb_int)(intptr_t)n->cdr); + yyerror_i(p, "can't set variable $%" MRB_PRId, (int)(intptr_t)n->cdr); } else if (c == NODE_BACK_REF) { yyerror_i(p, "can't set variable $%c", (int)(intptr_t)n->cdr); -- cgit v1.2.3 From 49db1db81f6768dbe6c86e92de608c4f5f3d81e1 Mon Sep 17 00:00:00 2001 From: Tomasz Dąbrowski Date: Mon, 25 Sep 2017 16:59:21 +0200 Subject: fix: mrbgems\mruby-eval\src\eval.c(214): warning C4244: '=': conversion from 'mrb_int' to 'short', possible loss of data --- mrbgems/mruby-eval/src/eval.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mrbgems/mruby-eval/src/eval.c b/mrbgems/mruby-eval/src/eval.c index 5c0ea82f4..5059b8ef4 100644 --- a/mrbgems/mruby-eval/src/eval.c +++ b/mrbgems/mruby-eval/src/eval.c @@ -211,7 +211,7 @@ create_proc_from_string(mrb_state *mrb, char *s, int len, mrb_value binding, con } cxt = mrbc_context_new(mrb); - cxt->lineno = line; + cxt->lineno = (short)line; mrbc_filename(mrb, cxt, file ? file : "(eval)"); cxt->capture_errors = TRUE; -- cgit v1.2.3 From f632baddb1beaabec37f573060d48767ebffdd56 Mon Sep 17 00:00:00 2001 From: Tomasz Dąbrowski Date: Mon, 25 Sep 2017 17:01:12 +0200 Subject: fix: mrbgems\mruby-eval\src\eval.c(301): warning C4244: 'function': conversion from 'mrb_int' to 'int', possible loss of data --- mrbgems/mruby-eval/src/eval.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mrbgems/mruby-eval/src/eval.c b/mrbgems/mruby-eval/src/eval.c index 5059b8ef4..7fd4f1437 100644 --- a/mrbgems/mruby-eval/src/eval.c +++ b/mrbgems/mruby-eval/src/eval.c @@ -198,7 +198,7 @@ patch_irep(mrb_state *mrb, mrb_irep *irep, int bnest, mrb_irep *top) void mrb_codedump_all(mrb_state*, struct RProc*); static struct RProc* -create_proc_from_string(mrb_state *mrb, char *s, int len, mrb_value binding, const char *file, mrb_int line) +create_proc_from_string(mrb_state *mrb, char *s, mrb_int len, mrb_value binding, const char *file, mrb_int line) { mrbc_context *cxt; struct mrb_parser_state *p; -- cgit v1.2.3 From 377d6a47ac1b00e7c3a66ec688412ea2e19df11d Mon Sep 17 00:00:00 2001 From: Tomasz Dąbrowski Date: Mon, 25 Sep 2017 17:02:04 +0200 Subject: fix: mrbgems\mruby-exit\src\mruby-exit.c(10): warning C4244: 'function': conversion from 'mrb_int' to 'int', possible loss of data --- mrbgems/mruby-exit/src/mruby-exit.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mrbgems/mruby-exit/src/mruby-exit.c b/mrbgems/mruby-exit/src/mruby-exit.c index 3e147f80b..05c929622 100644 --- a/mrbgems/mruby-exit/src/mruby-exit.c +++ b/mrbgems/mruby-exit/src/mruby-exit.c @@ -7,7 +7,7 @@ f_exit(mrb_state *mrb, mrb_value self) mrb_int i = EXIT_SUCCESS; mrb_get_args(mrb, "|i", &i); - exit(i); + exit((int)i); /* not reached */ return mrb_nil_value(); } -- cgit v1.2.3 From 9d89f8c00b85d711ca53711be50a1cc41165bd80 Mon Sep 17 00:00:00 2001 From: Tomasz Dąbrowski Date: Mon, 25 Sep 2017 17:02:31 +0200 Subject: fix: mrbgems\mruby-fiber\src\fiber.c(215): warning C4244: '=': conversion from 'mrb_int' to 'int', possible loss of data --- mrbgems/mruby-fiber/src/fiber.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mrbgems/mruby-fiber/src/fiber.c b/mrbgems/mruby-fiber/src/fiber.c index 9de175f34..57fe9401c 100644 --- a/mrbgems/mruby-fiber/src/fiber.c +++ b/mrbgems/mruby-fiber/src/fiber.c @@ -212,7 +212,7 @@ fiber_switch(mrb_state *mrb, mrb_value self, mrb_int len, const mrb_value *a, mr while (bcibase->argc = len; + c->cibase->argc = (int)len; value = c->stack[0] = c->ci->proc->env->stack[0]; } else { -- cgit v1.2.3 From 536b95eb487352d27545d817d5b2d8fbd8a80378 Mon Sep 17 00:00:00 2001 From: Tomasz Dąbrowski Date: Mon, 25 Sep 2017 16:36:07 +0200 Subject: fix: mrbgems\mruby-kernel-ext\src\kernel.c(114): warning C4244: 'function': conversion from 'mrb_int' to 'int', possible loss of data --- include/mruby.h | 2 +- src/object.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/include/mruby.h b/include/mruby.h index ced9c104d..fa049f293 100644 --- a/include/mruby.h +++ b/include/mruby.h @@ -1054,7 +1054,7 @@ MRB_API mrb_sym mrb_obj_to_sym(mrb_state *mrb, mrb_value name); MRB_API mrb_bool mrb_obj_eq(mrb_state*, mrb_value, mrb_value); MRB_API mrb_bool mrb_obj_equal(mrb_state*, mrb_value, mrb_value); MRB_API mrb_bool mrb_equal(mrb_state *mrb, mrb_value obj1, mrb_value obj2); -MRB_API mrb_value mrb_convert_to_integer(mrb_state *mrb, mrb_value val, int base); +MRB_API mrb_value mrb_convert_to_integer(mrb_state *mrb, mrb_value val, mrb_int base); MRB_API mrb_value mrb_Integer(mrb_state *mrb, mrb_value val); MRB_API mrb_value mrb_Float(mrb_state *mrb, mrb_value val); MRB_API mrb_value mrb_inspect(mrb_state *mrb, mrb_value obj); diff --git a/src/object.c b/src/object.c index 368e90b9f..388a34b44 100644 --- a/src/object.c +++ b/src/object.c @@ -523,7 +523,7 @@ mrb_to_int(mrb_state *mrb, mrb_value val) } MRB_API mrb_value -mrb_convert_to_integer(mrb_state *mrb, mrb_value val, int base) +mrb_convert_to_integer(mrb_state *mrb, mrb_value val, mrb_int base) { mrb_value tmp; -- cgit v1.2.3 From 49e96a2e19259bd216de39464632eda5c28063ef Mon Sep 17 00:00:00 2001 From: Tomasz Dąbrowski Date: Mon, 25 Sep 2017 17:02:58 +0200 Subject: fix: mrbgems\mruby-math\src\math.c(491): warning C4244: '=': conversion from 'mrb_int' to 'int', possible loss of data --- mrbgems/mruby-math/src/math.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mrbgems/mruby-math/src/math.c b/mrbgems/mruby-math/src/math.c index 7302b92d7..4ddd70374 100644 --- a/mrbgems/mruby-math/src/math.c +++ b/mrbgems/mruby-math/src/math.c @@ -486,7 +486,7 @@ static mrb_value math_log(mrb_state *mrb, mrb_value obj) { mrb_float x, base; - int argc; + mrb_int argc; argc = mrb_get_args(mrb, "f|f", &x, &base); if (x < 0.0) { -- cgit v1.2.3 From 553dbad2c618139ea164af9a9061208ebe2a4093 Mon Sep 17 00:00:00 2001 From: Tomasz Dąbrowski Date: Mon, 25 Sep 2017 17:03:30 +0200 Subject: fix: mrbgems\mruby-math\src\math.c(660): warning C4244: 'function': conversion from 'mrb_int' to 'int', possible loss of data --- mrbgems/mruby-math/src/math.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mrbgems/mruby-math/src/math.c b/mrbgems/mruby-math/src/math.c index 4ddd70374..c182debea 100644 --- a/mrbgems/mruby-math/src/math.c +++ b/mrbgems/mruby-math/src/math.c @@ -657,7 +657,7 @@ math_ldexp(mrb_state *mrb, mrb_value obj) mrb_int i; mrb_get_args(mrb, "fi", &x, &i); - x = ldexp(x, i); + x = ldexp(x, (int)i); return mrb_float_value(mrb, x); } -- cgit v1.2.3 From 861077f779a63c77fb5de6aa7a0cc6b4fa24b5ef Mon Sep 17 00:00:00 2001 From: Tomasz Dąbrowski Date: Mon, 25 Sep 2017 16:34:48 +0200 Subject: fix: mrbgems\mruby-sprintf\src\sprintf.c(516): warning C4244: 'function': conversion from 'mrb_int' to 'int', possible loss of data --- mrbgems/mruby-sprintf/src/sprintf.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mrbgems/mruby-sprintf/src/sprintf.c b/mrbgems/mruby-sprintf/src/sprintf.c index d20699247..c989c4a15 100644 --- a/mrbgems/mruby-sprintf/src/sprintf.c +++ b/mrbgems/mruby-sprintf/src/sprintf.c @@ -19,7 +19,7 @@ #define BITSPERDIG MRB_INT_BIT #define EXTENDSIGN(n, l) (((~0U << (n)) >> (((n)*(l)) % BITSPERDIG)) & ~(~0U << (n))) -mrb_value mrb_str_format(mrb_state *, int, const mrb_value *, mrb_value); +mrb_value mrb_str_format(mrb_state *, mrb_int, const mrb_value *, mrb_value); static void fmt_setup(char*,size_t,int,int,mrb_int,mrb_int); static char* @@ -518,7 +518,7 @@ mrb_f_sprintf(mrb_state *mrb, mrb_value obj) } mrb_value -mrb_str_format(mrb_state *mrb, int argc, const mrb_value *argv, mrb_value fmt) +mrb_str_format(mrb_state *mrb, mrb_int argc, const mrb_value *argv, mrb_value fmt) { const char *p, *end; char *buf; -- cgit v1.2.3 From e10b329fa3dc101c5d515d93f9eab6779ecc0fe4 Mon Sep 17 00:00:00 2001 From: Tomasz Dąbrowski Date: Mon, 25 Sep 2017 17:05:02 +0200 Subject: fix: mrbgems\mruby-sprintf\src\sprintf.c(618): warning C4244: 'initializing': conversion from 'mrb_int' to 'int', possible loss of data --- mrbgems/mruby-sprintf/src/sprintf.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mrbgems/mruby-sprintf/src/sprintf.c b/mrbgems/mruby-sprintf/src/sprintf.c index c989c4a15..2032a232a 100644 --- a/mrbgems/mruby-sprintf/src/sprintf.c +++ b/mrbgems/mruby-sprintf/src/sprintf.c @@ -198,7 +198,7 @@ check_name_arg(mrb_state *mrb, int posarg, const char *name, int len) #define GETNUM(n, val) \ for (; p < end && ISDIGIT(*p); p++) {\ - int next_n = 10 * n + (*p - '0'); \ + mrb_int next_n = 10 * n + (*p - '0'); \ if (next_n / 10 != n) {\ mrb_raise(mrb, E_ARGUMENT_ERROR, #val " too big"); \ } \ -- cgit v1.2.3 From 897eabb1bb9393e1273094208f0552fc88b18e3b Mon Sep 17 00:00:00 2001 From: Tomasz Dąbrowski Date: Mon, 25 Sep 2017 17:13:41 +0200 Subject: fix: mrbgems\mruby-sprintf\src\sprintf.c(646): warning C4244: 'function': conversion from 'mrb_int' to 'int', possible loss of data --- mrbgems/mruby-sprintf/src/sprintf.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/mrbgems/mruby-sprintf/src/sprintf.c b/mrbgems/mruby-sprintf/src/sprintf.c index 2032a232a..7d75b50ba 100644 --- a/mrbgems/mruby-sprintf/src/sprintf.c +++ b/mrbgems/mruby-sprintf/src/sprintf.c @@ -168,7 +168,7 @@ check_pos_arg(mrb_state *mrb, int posarg, int n) } static void -check_name_arg(mrb_state *mrb, int posarg, const char *name, int len) +check_name_arg(mrb_state *mrb, int posarg, const char *name, mrb_int len) { if (posarg > 0) { mrb_raisef(mrb, E_ARGUMENT_ERROR, "named%S after unnumbered(%S)", @@ -224,7 +224,7 @@ check_name_arg(mrb_state *mrb, int posarg, const char *name, int len) } while (0) static mrb_value -get_hash(mrb_state *mrb, mrb_value *hash, int argc, const mrb_value *argv) +get_hash(mrb_state *mrb, mrb_value *hash, mrb_int argc, const mrb_value *argv) { mrb_value tmp; @@ -643,7 +643,7 @@ retry: } symname = mrb_str_new(mrb, start + 1, p - start - 1); id = mrb_intern_str(mrb, symname); - nextvalue = GETNAMEARG(mrb_symbol_value(id), start, (int)(p - start + 1)); + nextvalue = GETNAMEARG(mrb_symbol_value(id), start, (mrb_int)(p - start + 1)); if (mrb_undef_p(nextvalue)) { mrb_raisef(mrb, E_KEY_ERROR, "key%S not found", mrb_str_new(mrb, start, p - start + 1)); } -- cgit v1.2.3 From 1e2c962fa5dc7eb283d7c8529d41d7ff643250c5 Mon Sep 17 00:00:00 2001 From: Tomasz Dąbrowski Date: Mon, 25 Sep 2017 17:07:45 +0200 Subject: fix: mrbgems\mruby-sprintf\src\sprintf.c(623): warning C4244: 'function': conversion from 'mrb_int' to 'int', possible loss of data --- mrbgems/mruby-sprintf/src/sprintf.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mrbgems/mruby-sprintf/src/sprintf.c b/mrbgems/mruby-sprintf/src/sprintf.c index 7d75b50ba..768c113fd 100644 --- a/mrbgems/mruby-sprintf/src/sprintf.c +++ b/mrbgems/mruby-sprintf/src/sprintf.c @@ -153,7 +153,7 @@ check_next_arg(mrb_state *mrb, int posarg, int nextarg) } static void -check_pos_arg(mrb_state *mrb, int posarg, int n) +check_pos_arg(mrb_state *mrb, mrb_int posarg, mrb_int n) { if (posarg > 0) { mrb_raisef(mrb, E_ARGUMENT_ERROR, "numbered(%S) after unnumbered(%S)", -- cgit v1.2.3 From a94525d4ea4bbfb37080a7d5e0d28b25b1834654 Mon Sep 17 00:00:00 2001 From: Tomasz Dąbrowski Date: Mon, 25 Sep 2017 17:10:34 +0200 Subject: fix: mrbgems\mruby-sprintf\src\sprintf.c(1052): warning C4244: '+=': conversion from 'mrb_int' to 'int', possible loss of data --- mrbgems/mruby-sprintf/src/sprintf.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/mrbgems/mruby-sprintf/src/sprintf.c b/mrbgems/mruby-sprintf/src/sprintf.c index 768c113fd..efa0b3d34 100644 --- a/mrbgems/mruby-sprintf/src/sprintf.c +++ b/mrbgems/mruby-sprintf/src/sprintf.c @@ -999,13 +999,15 @@ retry: case 'A': { mrb_value val = GETARG(); double fval; - int i, need = 6; + mrb_int i; + mrb_int need = 6; char fbuf[32]; + int frexp_result; fval = mrb_float(mrb_Float(mrb, val)); if (!isfinite(fval)) { const char *expr; - const int elen = 3; + const mrb_int elen = 3; char sign = '\0'; if (isnan(fval)) { @@ -1045,7 +1047,8 @@ retry: need = 0; if (*p != 'e' && *p != 'E') { i = INT_MIN; - frexp(fval, &i); + frexp(fval, &frexp_result); + i = (mrb_int)frexp_result; if (i > 0) need = BIT_DIGITS(i); } -- cgit v1.2.3 From d3819620cece77a09fa09ba1e4fca5ed98add936 Mon Sep 17 00:00:00 2001 From: Tomasz Dąbrowski Date: Mon, 25 Sep 2017 17:09:33 +0200 Subject: fix: mrbgems\mruby-string-ext\src\string.c(38): warning C4244: '=': conversion from 'mrb_int' to 'char', possible loss of data --- mrbgems/mruby-string-ext/src/string.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mrbgems/mruby-string-ext/src/string.c b/mrbgems/mruby-string-ext/src/string.c index 6bc035d6a..600b70ccf 100644 --- a/mrbgems/mruby-string-ext/src/string.c +++ b/mrbgems/mruby-string-ext/src/string.c @@ -35,7 +35,7 @@ mrb_str_setbyte(mrb_state *mrb, mrb_value str) mrb_str_modify(mrb, mrb_str_ptr(str)); byte &= 0xff; - RSTRING_PTR(str)[pos] = byte; + RSTRING_PTR(str)[pos] = (unsigned char)byte; return mrb_fixnum_value((unsigned char)byte); } -- cgit v1.2.3 From 8d816fa14210da719a87f8be9417de60e2836a91 Mon Sep 17 00:00:00 2001 From: Tomasz Dąbrowski Date: Mon, 25 Sep 2017 17:05:36 +0200 Subject: fix: mrbgems\mruby-string-ext\src\string.c(30): warning C4244: '=': conversion from 'mrb_int' to 'long', possible loss of data --- mrbgems/mruby-string-ext/src/string.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mrbgems/mruby-string-ext/src/string.c b/mrbgems/mruby-string-ext/src/string.c index 600b70ccf..580baf4a2 100644 --- a/mrbgems/mruby-string-ext/src/string.c +++ b/mrbgems/mruby-string-ext/src/string.c @@ -23,7 +23,7 @@ static mrb_value mrb_str_setbyte(mrb_state *mrb, mrb_value str) { mrb_int pos, byte; - long len; + mrb_int len; mrb_get_args(mrb, "ii", &pos, &byte); -- cgit v1.2.3 From 2640896911a051458cdc1b01ba6641cb87661a19 Mon Sep 17 00:00:00 2001 From: Tomasz Dąbrowski Date: Mon, 25 Sep 2017 17:06:53 +0200 Subject: fix: mrbgems\mruby-string-ext\src\string.c(49): warning C4244: '=': conversion from 'mrb_int' to 'int', possible loss of data --- mrbgems/mruby-string-ext/src/string.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mrbgems/mruby-string-ext/src/string.c b/mrbgems/mruby-string-ext/src/string.c index 580baf4a2..63f181749 100644 --- a/mrbgems/mruby-string-ext/src/string.c +++ b/mrbgems/mruby-string-ext/src/string.c @@ -44,7 +44,7 @@ mrb_str_byteslice(mrb_state *mrb, mrb_value str) { mrb_value a1; mrb_int len; - int argc; + mrb_int argc; argc = mrb_get_args(mrb, "o|i", &a1, &len); if (argc == 2) { -- cgit v1.2.3 From d713f8d761ad86c8e9346672e980a5741ec4cd62 Mon Sep 17 00:00:00 2001 From: Tomasz Dąbrowski Date: Mon, 25 Sep 2017 17:11:54 +0200 Subject: fix: mrbgems\mruby-test\driver.c(67): warning C4244: '=': conversion from 'mrb_int' to 'int', possible loss of data --- mrbgems/mruby-test/driver.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mrbgems/mruby-test/driver.c b/mrbgems/mruby-test/driver.c index 14e93ff33..da0d721d4 100644 --- a/mrbgems/mruby-test/driver.c +++ b/mrbgems/mruby-test/driver.c @@ -60,7 +60,7 @@ static void t_printstr(mrb_state *mrb, mrb_value obj) { char *s; - int len; + mrb_int len; if (mrb_string_p(obj)) { s = RSTRING_PTR(obj); -- cgit v1.2.3 From 0848407ee596e554658777c33331a9997e144ffa Mon Sep 17 00:00:00 2001 From: Tomasz Dąbrowski Date: Mon, 25 Sep 2017 17:06:12 +0200 Subject: fix: mrbgems\mruby-time\src\time.c(372): warning C4244: 'function': conversion from 'mrb_int' to 'double', possible loss of data --- mrbgems/mruby-time/src/time.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mrbgems/mruby-time/src/time.c b/mrbgems/mruby-time/src/time.c index 205c6dc33..a620c1dc1 100644 --- a/mrbgems/mruby-time/src/time.c +++ b/mrbgems/mruby-time/src/time.c @@ -369,7 +369,7 @@ time_mktime(mrb_state *mrb, mrb_int ayear, mrb_int amonth, mrb_int aday, mrb_raise(mrb, E_ARGUMENT_ERROR, "Not a valid time."); } - return time_alloc(mrb, (double)nowsecs, ausec, timezone); + return time_alloc(mrb, (double)nowsecs, (double)ausec, timezone); } /* 15.2.19.6.2 */ -- cgit v1.2.3 From be81504770fd9eb0c62b759781b9bc82e52956a7 Mon Sep 17 00:00:00 2001 From: Tomasz Dąbrowski Date: Mon, 25 Sep 2017 17:08:36 +0200 Subject: fix: mrbgems\mruby-time\src\time.c(641): warning C4244: '=': conversion from 'mrb_int' to 'int', possible loss of data --- mrbgems/mruby-time/src/time.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mrbgems/mruby-time/src/time.c b/mrbgems/mruby-time/src/time.c index a620c1dc1..e6c6b9904 100644 --- a/mrbgems/mruby-time/src/time.c +++ b/mrbgems/mruby-time/src/time.c @@ -634,7 +634,7 @@ mrb_time_initialize(mrb_state *mrb, mrb_value self) { mrb_int ayear = 0, amonth = 1, aday = 1, ahour = 0, amin = 0, asec = 0, ausec = 0; - int n; + mrb_int n; struct mrb_time *tm; n = mrb_get_args(mrb, "|iiiiiii", -- cgit v1.2.3 From 7507d469921c8696e7057d748758cc3c35f83371 Mon Sep 17 00:00:00 2001 From: Tomasz Dąbrowski Date: Mon, 25 Sep 2017 15:57:48 +0200 Subject: fix: src\array.c(86): warning C4244: '=': conversion from 'mrb_int' to 'uint32_t', possible loss of data --- include/mruby/array.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/mruby/array.h b/include/mruby/array.h index 542715554..6fffe4512 100644 --- a/include/mruby/array.h +++ b/include/mruby/array.h @@ -45,7 +45,7 @@ struct RArray { #define ARY_EMBED_P(a) ((a)->flags & MRB_ARY_EMBED_MASK) #define ARY_UNSET_EMBED_FLAG(a) ((a)->flags &= ~(MRB_ARY_EMBED_MASK)) #define ARY_EMBED_LEN(a) ((mrb_int)(((a)->flags & MRB_ARY_EMBED_MASK) - 1)) -#define ARY_SET_EMBED_LEN(a,len) ((a)->flags = ((a)->flags&~MRB_ARY_EMBED_MASK) | (len + 1)) +#define ARY_SET_EMBED_LEN(a,len) ((a)->flags = ((a)->flags&~MRB_ARY_EMBED_MASK) | ((uint32_t)(len) + 1)) #define ARY_EMBED_PTR(a) (&((a)->as.embed[0])) #define ARY_LEN(a) (ARY_EMBED_P(a)?ARY_EMBED_LEN(a):(a)->as.heap.len) -- cgit v1.2.3 From 4146b5c2b530e40b463df29d4c0d724f0ee23dab Mon Sep 17 00:00:00 2001 From: Tomasz Dąbrowski Date: Mon, 25 Sep 2017 15:58:48 +0200 Subject: fix: src\backtrace.c(83): warning C4244: '=': conversion from 'mrb_int' to 'int', possible loss of data --- src/backtrace.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/backtrace.c b/src/backtrace.c index 3e4e1a438..232d1c2f4 100644 --- a/src/backtrace.c +++ b/src/backtrace.c @@ -75,7 +75,8 @@ each_backtrace(mrb_state *mrb, ptrdiff_t ciidx, mrb_code *pc0, each_backtrace_fu static void print_backtrace(mrb_state *mrb, mrb_value backtrace) { - int i, n; + int i; + mrb_int n; FILE *stream = stderr; if (!mrb_array_p(backtrace)) return; -- cgit v1.2.3 From d8b37d0381335e23a64e513a354491c6b8f42f2d Mon Sep 17 00:00:00 2001 From: Tomasz Dąbrowski Date: Mon, 25 Sep 2017 16:02:01 +0200 Subject: fix: src\class.c(583): warning C4244: '=': conversion from 'mrb_int' to 'int', possible loss of data --- src/class.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/class.c b/src/class.c index 44121bce6..3268dc7d3 100644 --- a/src/class.c +++ b/src/class.c @@ -569,7 +569,7 @@ mrb_get_args(mrb_state *mrb, const char *format, ...) char c; int i = 0; va_list ap; - int argc = mrb->c->ci->argc; + mrb_int argc = mrb->c->ci->argc; int arg_i = 0; mrb_value *array_argv; mrb_bool opt = FALSE; -- cgit v1.2.3 From 9c5db48d1ffb1f3d849df3045a844d2368d253a6 Mon Sep 17 00:00:00 2001 From: Tomasz Dąbrowski Date: Mon, 25 Sep 2017 16:22:04 +0200 Subject: fix: src\class.c(949): warning C4244: '=': conversion from 'mrb_int' to 'int', possible loss of data --- src/class.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/class.c b/src/class.c index 3268dc7d3..75f2aa6fa 100644 --- a/src/class.c +++ b/src/class.c @@ -567,7 +567,7 @@ mrb_get_args(mrb_state *mrb, const char *format, ...) { const char *fmt = format; char c; - int i = 0; + mrb_int i = 0; va_list ap; mrb_int argc = mrb->c->ci->argc; int arg_i = 0; -- cgit v1.2.3 From 5ed76e381c10374baec5baef7f08bf7195f1eacb Mon Sep 17 00:00:00 2001 From: Tomasz Dąbrowski Date: Mon, 25 Sep 2017 16:06:18 +0200 Subject: fix: src\class.c(949): warning C4244: '=': conversion from 'mrb_int' to 'int', possible loss of data --- src/class.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/class.c b/src/class.c index 75f2aa6fa..f220106cd 100644 --- a/src/class.c +++ b/src/class.c @@ -570,7 +570,7 @@ mrb_get_args(mrb_state *mrb, const char *format, ...) mrb_int i = 0; va_list ap; mrb_int argc = mrb->c->ci->argc; - int arg_i = 0; + mrb_int arg_i = 0; mrb_value *array_argv; mrb_bool opt = FALSE; mrb_bool opt_skip = TRUE; -- cgit v1.2.3 From f4a17dd7b52aa07110a45e94f2428876da604d1f Mon Sep 17 00:00:00 2001 From: Tomasz Dąbrowski Date: Mon, 25 Sep 2017 16:03:25 +0200 Subject: fix: src\dump.c(657): warning C4244: 'function': conversion from 'mrb_int' to 'uint16_t', possible loss of data --- src/dump.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/dump.c b/src/dump.c index d479a1a4f..822f1d3be 100644 --- a/src/dump.c +++ b/src/dump.c @@ -654,7 +654,7 @@ write_section_debug(mrb_state *mrb, mrb_irep *irep, uint8_t *cur, mrb_sym const for (i = 0; i < filenames_len; ++i) { sym = mrb_sym2name_len(mrb, filenames[i], &sym_len); mrb_assert(sym); - cur += uint16_to_bin(sym_len, cur); + cur += uint16_to_bin((uint16_t)sym_len, cur); memcpy(cur, sym, sym_len); cur += sym_len; section_size += sizeof(uint16_t) + sym_len; -- cgit v1.2.3 From 4d6b8dbcb954dedf55349e5c6cca8c491e628ce6 Mon Sep 17 00:00:00 2001 From: Tomasz Dąbrowski Date: Mon, 25 Sep 2017 16:10:05 +0200 Subject: fix: src\dump.c(710): warning C4244: 'function': conversion from 'mrb_int' to 'uint16_t', possible loss of data --- src/dump.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/dump.c b/src/dump.c index 822f1d3be..71d2f7184 100644 --- a/src/dump.c +++ b/src/dump.c @@ -707,7 +707,7 @@ write_lv_sym_table(mrb_state *mrb, uint8_t **start, mrb_sym const *syms, uint32_ for (i = 0; i < syms_len; ++i) { str = mrb_sym2name_len(mrb, syms[i], &str_len); - cur += uint16_to_bin(str_len, cur); + cur += uint16_to_bin((uint16_t)str_len, cur); memcpy(cur, str, str_len); cur += str_len; } -- cgit v1.2.3 From 7a2391b1201c8ff9c8d9623e6f6f675573edc600 Mon Sep 17 00:00:00 2001 From: Tomasz Dąbrowski Date: Mon, 25 Sep 2017 16:12:21 +0200 Subject: fix: src\error.c(76): warning C4244: '=': conversion from 'mrb_int' to 'int', possible loss of data --- src/error.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/error.c b/src/error.c index 2c4fd1a40..8e679cbb1 100644 --- a/src/error.c +++ b/src/error.c @@ -71,7 +71,7 @@ exc_exception(mrb_state *mrb, mrb_value self) { mrb_value exc; mrb_value a; - int argc; + mrb_int argc; argc = mrb_get_args(mrb, "|o", &a); if (argc == 0) return self; -- cgit v1.2.3 From 1dcf8ba48878baf3f38678b612070cf0f4fda5e1 Mon Sep 17 00:00:00 2001 From: Tomasz Dąbrowski Date: Mon, 25 Sep 2017 16:38:22 +0200 Subject: fix: src\gc.c(559): warning C4244: '=': conversion from 'mrb_int' to 'int', possible loss of data --- src/gc.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/gc.c b/src/gc.c index 1e7ff5f5a..c082af565 100644 --- a/src/gc.c +++ b/src/gc.c @@ -551,7 +551,7 @@ mark_context_stack(mrb_state *mrb, struct mrb_context *c) size_t i; size_t e; mrb_value nil; - int nregs; + mrb_int nregs; if (c->stack == NULL) return; e = c->stack - c->stbase; -- cgit v1.2.3 From b406e9f7954d9ce9cec2d07e7d3d8627036a821a Mon Sep 17 00:00:00 2001 From: Tomasz Dąbrowski Date: Mon, 25 Sep 2017 16:07:16 +0200 Subject: fix: src\gc.c(1392): warning C4244: '=': conversion from 'mrb_int' to 'int', possible loss of data --- src/gc.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/gc.c b/src/gc.c index c082af565..270adf52f 100644 --- a/src/gc.c +++ b/src/gc.c @@ -1389,7 +1389,7 @@ gc_interval_ratio_set(mrb_state *mrb, mrb_value obj) mrb_int ratio; mrb_get_args(mrb, "i", &ratio); - mrb->gc.interval_ratio = ratio; + mrb->gc.interval_ratio = (int)ratio; return mrb_nil_value(); } -- cgit v1.2.3 From c7b663f2cfe8a9766c68519332969f736be2c8cf Mon Sep 17 00:00:00 2001 From: Tomasz Dąbrowski Date: Mon, 25 Sep 2017 16:07:44 +0200 Subject: fix: src\gc.c(1425): warning C4244: '=': conversion from 'mrb_int' to 'int', possible loss of data --- src/gc.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/gc.c b/src/gc.c index 270adf52f..6d23354ae 100644 --- a/src/gc.c +++ b/src/gc.c @@ -1422,7 +1422,7 @@ gc_step_ratio_set(mrb_state *mrb, mrb_value obj) mrb_int ratio; mrb_get_args(mrb, "i", &ratio); - mrb->gc.step_ratio = ratio; + mrb->gc.step_ratio = (int)ratio; return mrb_nil_value(); } -- cgit v1.2.3 From 3e1d60ae0b36b02e20b90d6cba95e8742671dd69 Mon Sep 17 00:00:00 2001 From: Tomasz Dąbrowski Date: Mon, 25 Sep 2017 16:11:33 +0200 Subject: fix: src\hash.c(27): warning C4244: '=': conversion from 'mrb_int' to 'khint_t', possible loss of data --- include/mruby/string.h | 2 +- src/string.c | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/include/mruby/string.h b/include/mruby/string.h index df6fb25c3..4c25b9346 100644 --- a/include/mruby/string.h +++ b/include/mruby/string.h @@ -409,7 +409,7 @@ MRB_API int mrb_str_cmp(mrb_state *mrb, mrb_value str1, mrb_value str2); MRB_API char *mrb_str_to_cstr(mrb_state *mrb, mrb_value str); mrb_value mrb_str_pool(mrb_state *mrb, mrb_value str); -mrb_int mrb_str_hash(mrb_state *mrb, mrb_value str); +uint32_t mrb_str_hash(mrb_state *mrb, mrb_value str); mrb_value mrb_str_dump(mrb_state *mrb, mrb_value str); /* diff --git a/src/string.c b/src/string.c index 01d706fa3..f50468cca 100644 --- a/src/string.c +++ b/src/string.c @@ -1467,7 +1467,7 @@ mrb_str_substr(mrb_state *mrb, mrb_value str, mrb_int beg, mrb_int len) return str_substr(mrb, str, beg, len); } -mrb_int +uint32_t mrb_str_hash(mrb_state *mrb, mrb_value str) { /* 1-8-7 */ @@ -1480,7 +1480,7 @@ mrb_str_hash(mrb_state *mrb, mrb_value str) key = key*65599 + *p; p++; } - return (mrb_int)(key + (key>>5)); + return (uint32_t)(key + (key>>5)); } /* 15.2.10.5.20 */ -- cgit v1.2.3 From 8cef3f946c67a029cb668eae80e378afdb9e22af Mon Sep 17 00:00:00 2001 From: Tomasz Dąbrowski Date: Mon, 25 Sep 2017 16:17:11 +0200 Subject: fix: src\hash.c(40): warning C4244: '=': conversion from 'mrb_int' to 'khint_t', possible loss of data --- src/hash.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/hash.c b/src/hash.c index 93d550187..1f6f8b4cd 100644 --- a/src/hash.c +++ b/src/hash.c @@ -37,7 +37,7 @@ mrb_hash_ht_hash_func(mrb_state *mrb, mrb_value key) default: hv = mrb_funcall(mrb, key, "hash", 0); - h = (khint_t)t ^ mrb_fixnum(hv); + h = (khint_t)t ^ (khint_t)mrb_fixnum(hv); break; } return kh_int_hash_func(mrb, h); -- cgit v1.2.3 From 7d98055862c2939e478fbbd7544f5c9c15de7be1 Mon Sep 17 00:00:00 2001 From: Tomasz Dąbrowski Date: Mon, 25 Sep 2017 16:20:07 +0200 Subject: fix: src\hash.c(139): warning C4244: 'function': conversion from 'mrb_int' to 'khint_t', possible loss of data --- src/hash.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/hash.c b/src/hash.c index 1f6f8b4cd..53ef2b818 100644 --- a/src/hash.c +++ b/src/hash.c @@ -136,7 +136,7 @@ mrb_hash_new_capa(mrb_state *mrb, mrb_int capa) h = (struct RHash*)mrb_obj_alloc(mrb, MRB_TT_HASH, mrb->hash_class); /* khash needs 1/4 empty space so it is not resized immediately */ - h->ht = kh_init_size(ht, mrb, capa*4/3); + h->ht = kh_init_size(ht, mrb, (khint_t)(capa*4/3)); h->iv = 0; return mrb_obj_value(h); } -- cgit v1.2.3 From 0e0c96096d5a22ba0da39769b3c5b17e893335e8 Mon Sep 17 00:00:00 2001 From: Tomasz Dąbrowski Date: Mon, 25 Sep 2017 16:09:13 +0200 Subject: fix: src\kernel.c(861): warning C4244: '=': conversion from 'mrb_int' to 'int', possible loss of data --- src/kernel.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/kernel.c b/src/kernel.c index 4e95ab24b..33d142184 100644 --- a/src/kernel.c +++ b/src/kernel.c @@ -855,7 +855,7 @@ MRB_API mrb_value mrb_f_raise(mrb_state *mrb, mrb_value self) { mrb_value a[2], exc; - int argc; + mrb_int argc; argc = mrb_get_args(mrb, "|oo", &a[0], &a[1]); -- cgit v1.2.3 From 971a4f9122d785ae558d590579692a1193819bd6 Mon Sep 17 00:00:00 2001 From: Tomasz Dąbrowski Date: Mon, 25 Sep 2017 16:21:28 +0200 Subject: fix: src\kernel.c(874): warning C4244: 'function': conversion from 'mrb_int' to 'int', possible loss of data --- include/mruby/error.h | 2 +- src/error.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/include/mruby/error.h b/include/mruby/error.h index 0a262550e..d7abbb14c 100644 --- a/include/mruby/error.h +++ b/include/mruby/error.h @@ -24,7 +24,7 @@ struct RException { MRB_API void mrb_sys_fail(mrb_state *mrb, const char *mesg); MRB_API mrb_value mrb_exc_new_str(mrb_state *mrb, struct RClass* c, mrb_value str); #define mrb_exc_new_str_lit(mrb, c, lit) mrb_exc_new_str(mrb, c, mrb_str_new_lit(mrb, lit)) -MRB_API mrb_value mrb_make_exception(mrb_state *mrb, int argc, const mrb_value *argv); +MRB_API mrb_value mrb_make_exception(mrb_state *mrb, mrb_int argc, const mrb_value *argv); MRB_API mrb_value mrb_exc_backtrace(mrb_state *mrb, mrb_value exc); MRB_API mrb_value mrb_get_backtrace(mrb_state *mrb); MRB_API mrb_noreturn void mrb_no_method_error(mrb_state *mrb, mrb_sym id, mrb_value args, const char *fmt, ...); diff --git a/src/error.c b/src/error.c index 8e679cbb1..fd4182eb2 100644 --- a/src/error.c +++ b/src/error.c @@ -386,7 +386,7 @@ mrb_bug(mrb_state *mrb, const char *fmt, ...) } MRB_API mrb_value -mrb_make_exception(mrb_state *mrb, int argc, const mrb_value *argv) +mrb_make_exception(mrb_state *mrb, mrb_int argc, const mrb_value *argv) { mrb_value mesg; int n; -- cgit v1.2.3 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(-) 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(-) 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(-) 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 From 220c628210c3aa741983685cd542748623aa0832 Mon Sep 17 00:00:00 2001 From: Tomasz Dąbrowski Date: Mon, 25 Sep 2017 17:12:15 +0200 Subject: fix: src\pool.c(33): warning C4200: nonstandard extension used: zero-sized array in struct/union --- src/pool.c | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/pool.c b/src/pool.c index db4546abf..b87d2cfaa 100644 --- a/src/pool.c +++ b/src/pool.c @@ -25,6 +25,13 @@ #endif /* end of configuration section */ +/* Disable MSVC warning "C4200: nonstandard extension used: zero-sized array + * in struct/union" when in C++ mode */ +#ifdef _MSC_VER +#pragma warning(push) +#pragma warning(disable : 4200) +#endif + struct mrb_pool_page { struct mrb_pool_page *next; size_t offset; @@ -33,6 +40,10 @@ struct mrb_pool_page { char page[]; }; +#ifdef _MSC_VER +#pragma warning(pop) +#endif + struct mrb_pool { mrb_state *mrb; struct mrb_pool_page *pages; -- cgit v1.2.3 From 490de9dbe1ae346e230a9d55456687ae8f25f7c7 Mon Sep 17 00:00:00 2001 From: Tomasz Dąbrowski Date: Mon, 25 Sep 2017 16:48:57 +0200 Subject: fix: src\print.c(22): warning C4244: 'initializing': conversion from 'mrb_int' to 'int', possible loss of data --- mrbgems/mruby-print/src/print.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mrbgems/mruby-print/src/print.c b/mrbgems/mruby-print/src/print.c index d0c522d24..e181b06e0 100644 --- a/mrbgems/mruby-print/src/print.c +++ b/mrbgems/mruby-print/src/print.c @@ -19,7 +19,7 @@ printstr(mrb_state *mrb, mrb_value obj) #if defined(_WIN32) if (isatty(fileno(stdout))) { DWORD written; - int mlen = RSTRING_LEN(obj); + int mlen = (int)RSTRING_LEN(obj); char* utf8 = RSTRING_PTR(obj); int wlen = MultiByteToWideChar(CP_UTF8, 0, utf8, mlen, NULL, 0); wchar_t* utf16 = (wchar_t*)mrb_malloc(mrb, (wlen+1) * sizeof(wchar_t)); -- cgit v1.2.3 From b7e71e4cef19a1d9a2ce44911cc8e5b99a8ea332 Mon Sep 17 00:00:00 2001 From: Tomasz Dąbrowski Date: Mon, 25 Sep 2017 16:27:14 +0200 Subject: fix: src\proc.c(96): warning C4244: 'function': conversion from 'mrb_int' to 'int', possible loss of data --- src/proc.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/proc.c b/src/proc.c index 10a2c4f33..a6214f1fc 100644 --- a/src/proc.c +++ b/src/proc.c @@ -35,7 +35,7 @@ mrb_proc_new(mrb_state *mrb, mrb_irep *irep) } static struct REnv* -env_new(mrb_state *mrb, int nlocals) +env_new(mrb_state *mrb, mrb_int nlocals) { struct REnv *e; -- cgit v1.2.3 From 0e2976bf930881d02a6c9dc64662efce81cea836 Mon Sep 17 00:00:00 2001 From: Tomasz Dąbrowski Date: Mon, 25 Sep 2017 16:27:59 +0200 Subject: fix: src\range.c(136): warning C4244: '=': conversion from 'mrb_int' to 'int', possible loss of data --- src/range.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/range.c b/src/range.c index eb9a9c61f..c6a5ea924 100644 --- a/src/range.c +++ b/src/range.c @@ -131,7 +131,7 @@ mrb_range_initialize(mrb_state *mrb, mrb_value range) { mrb_value beg, end; mrb_bool exclusive; - int n; + mrb_int n; n = mrb_get_args(mrb, "oo|b", &beg, &end, &exclusive); if (n != 3) { -- cgit v1.2.3 From 6cde950017df7e464f965552831b720610e00e08 Mon Sep 17 00:00:00 2001 From: Tomasz Dąbrowski Date: Mon, 25 Sep 2017 17:16:23 +0200 Subject: fix: src\state.c(66): warning C4200: nonstandard extension used: zero-sized array in struct/union --- src/state.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/state.c b/src/state.c index 039d67d57..678f58e9c 100644 --- a/src/state.c +++ b/src/state.c @@ -63,7 +63,7 @@ mrb_default_allocf(mrb_state *mrb, void *p, size_t size, void *ud) struct alloca_header { struct alloca_header *next; - char buf[]; + char buf[1]; }; MRB_API void* -- cgit v1.2.3 From 46ccabacf0a7c45e3e2fab1484545536ae5464d5 Mon Sep 17 00:00:00 2001 From: Tomasz Dąbrowski Date: Mon, 25 Sep 2017 16:28:43 +0200 Subject: fix: src\string.c(497): warning C4244: '=': conversion from 'mrb_int' to 'long', possible loss of data --- src/string.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/string.c b/src/string.c index f50468cca..54987ca64 100644 --- a/src/string.c +++ b/src/string.c @@ -488,7 +488,7 @@ check_frozen(mrb_state *mrb, struct RString *s) static mrb_value str_replace(mrb_state *mrb, struct RString *s1, struct RString *s2) { - long len; + mrb_int len; check_frozen(mrb, s1); if (s1 == s2) return mrb_obj_value(s1); -- cgit v1.2.3 From 027b8d83774245fe5af4334993995d450bc911ef Mon Sep 17 00:00:00 2001 From: Tomasz Dąbrowski Date: Mon, 25 Sep 2017 16:30:36 +0200 Subject: fix: src\string.c(1130): warning C4244: '=': conversion from 'mrb_int' to 'int', possible loss of data --- src/string.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/string.c b/src/string.c index 54987ca64..e455540f3 100644 --- a/src/string.c +++ b/src/string.c @@ -1125,7 +1125,7 @@ static mrb_value mrb_str_aref_m(mrb_state *mrb, mrb_value str) { mrb_value a1, a2; - int argc; + mrb_int argc; argc = mrb_get_args(mrb, "o|o", &a1, &a2); if (argc == 2) { -- cgit v1.2.3 From ef8df492e94cc0b94c5b504ebcbe42ecccb7a086 Mon Sep 17 00:00:00 2001 From: Tomasz Dąbrowski Date: Mon, 25 Sep 2017 16:31:06 +0200 Subject: fix: src\string.c(1924): warning C4244: '=': conversion from 'mrb_int' to 'int', possible loss of data --- src/string.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/string.c b/src/string.c index e455540f3..9a557bd08 100644 --- a/src/string.c +++ b/src/string.c @@ -1911,7 +1911,7 @@ mrb_str_rindex(mrb_state *mrb, mrb_value str) static mrb_value mrb_str_split_m(mrb_state *mrb, mrb_value str) { - int argc; + mrb_int argc; mrb_value spat = mrb_nil_value(); enum {awk, string, regexp} split_type = string; mrb_int i = 0; -- cgit v1.2.3 From 53f934a7ee2928b684189617af76c96b46731a83 Mon Sep 17 00:00:00 2001 From: Tomasz Dąbrowski Date: Mon, 25 Sep 2017 16:39:27 +0200 Subject: fix: src\string.c(2219): warning C4244: 'function': conversion from 'mrb_int' to 'int', possible loss of data --- src/string.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/string.c b/src/string.c index 9a557bd08..1b57efc71 100644 --- a/src/string.c +++ b/src/string.c @@ -2025,7 +2025,7 @@ mrb_str_split_m(mrb_state *mrb, mrb_value str) } MRB_API mrb_value -mrb_str_len_to_inum(mrb_state *mrb, const char *str, size_t len, int base, int badcheck) +mrb_str_len_to_inum(mrb_state *mrb, const char *str, mrb_int len, mrb_int base, int badcheck) { const char *p = str; const char *pend = str + len; -- cgit v1.2.3 From 5ede90cdf4f98277a4360cef60b4ec4f1d054da9 Mon Sep 17 00:00:00 2001 From: Tomasz Dąbrowski Date: Mon, 25 Sep 2017 16:33:51 +0200 Subject: fix: src\vm.c(438): warning C4244: '=': conversion from 'mrb_int' to 'int', possible loss of data --- include/mruby.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/mruby.h b/include/mruby.h index fa049f293..316707909 100644 --- a/include/mruby.h +++ b/include/mruby.h @@ -858,7 +858,7 @@ mrb_get_mid(mrb_state *mrb) /* get method symbol */ return mrb->c->ci->mid; } -static inline int +static inline mrb_int mrb_get_argc(mrb_state *mrb) /* get argc */ { return mrb->c->ci->argc; -- cgit v1.2.3 From 23cc698134c9d12a8a21562a839f74f3f5124527 Mon Sep 17 00:00:00 2001 From: Tomasz Dąbrowski Date: Mon, 25 Sep 2017 16:44:44 +0200 Subject: fix: src\vm.c(438): warning C4244: '=': conversion from 'mrb_int' to 'int', possible loss of data --- src/vm.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/vm.c b/src/vm.c index 2b0922cd9..51026c623 100644 --- a/src/vm.c +++ b/src/vm.c @@ -435,7 +435,7 @@ mrb_funcall_with_block(mrb_state *mrb, mrb_value self, mrb_sym mid, mrb_int argc ci->mid = mid; ci->proc = p; ci->stackent = mrb->c->stack; - ci->argc = argc; + ci->argc = (int)argc; ci->target_class = c; mrb->c->stack = mrb->c->stack + n; if (mrb->c->stbase <= argv && argv < mrb->c->stend) { -- cgit v1.2.3 From 67ab8406b8e78f842a2cb829edf5a6d69e01b5c4 Mon Sep 17 00:00:00 2001 From: Tomasz Dąbrowski Date: Mon, 25 Sep 2017 16:42:54 +0200 Subject: fix: src\vm.c(445): warning C4244: '=': conversion from 'mrb_int' to 'int', possible loss of data --- src/vm.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/vm.c b/src/vm.c index 51026c623..0af1d0040 100644 --- a/src/vm.c +++ b/src/vm.c @@ -442,7 +442,7 @@ mrb_funcall_with_block(mrb_state *mrb, mrb_value self, mrb_sym mid, mrb_int argc voff = argv - mrb->c->stbase; } if (MRB_PROC_CFUNC_P(p)) { - ci->nregs = argc + 2; + ci->nregs = (int)(argc + 2); stack_extend(mrb, ci->nregs); } else if (argc >= CALL_MAXARGS) { -- cgit v1.2.3 From ec7f478eda3c2f03d15d0a926c5ee959464a01f7 Mon Sep 17 00:00:00 2001 From: Tomasz Dąbrowski Date: Mon, 25 Sep 2017 16:45:06 +0200 Subject: fix: src\vm.c(457): warning C4244: '=': conversion from 'mrb_int' to 'int', possible loss of data --- src/vm.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/vm.c b/src/vm.c index 0af1d0040..d99b5e1d1 100644 --- a/src/vm.c +++ b/src/vm.c @@ -454,7 +454,7 @@ mrb_funcall_with_block(mrb_state *mrb, mrb_value self, mrb_sym mid, mrb_int argc } else { if (argc < 0) argc = 1; - ci->nregs = p->body.irep->nregs + argc; + ci->nregs = (int)(p->body.irep->nregs + argc); stack_extend(mrb, ci->nregs); } if (voff >= 0) { -- cgit v1.2.3 From e88fc10679d41297758eae88ca45af77fabd3123 Mon Sep 17 00:00:00 2001 From: Tomasz Dąbrowski Date: Mon, 25 Sep 2017 16:45:26 +0200 Subject: fix: src\vm.c(704): warning C4244: '=': conversion from 'mrb_int' to 'int', possible loss of data --- src/vm.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/vm.c b/src/vm.c index d99b5e1d1..c3f39a35c 100644 --- a/src/vm.c +++ b/src/vm.c @@ -701,7 +701,7 @@ mrb_yield_with_class(mrb_state *mrb, mrb_value b, mrb_int argc, const mrb_value ci->mid = mid; ci->proc = p; ci->stackent = mrb->c->stack; - ci->argc = argc; + ci->argc = (int)argc; ci->target_class = c; ci->acc = CI_ACC_SKIP; mrb->c->stack = mrb->c->stack + n; -- cgit v1.2.3 From 885916c84bb821bc5e7d224432dd4da01653ff1b Mon Sep 17 00:00:00 2001 From: Tomasz Dąbrowski Date: Mon, 25 Sep 2017 16:57:46 +0200 Subject: fix: src\vm.c(708): warning C4244: '=': conversion from 'mrb_int' to 'int', possible loss of data --- src/vm.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/vm.c b/src/vm.c index c3f39a35c..b6927d36f 100644 --- a/src/vm.c +++ b/src/vm.c @@ -705,7 +705,7 @@ mrb_yield_with_class(mrb_state *mrb, mrb_value b, mrb_int argc, const mrb_value ci->target_class = c; ci->acc = CI_ACC_SKIP; mrb->c->stack = mrb->c->stack + n; - ci->nregs = MRB_PROC_CFUNC_P(p) ? argc+2 : p->body.irep->nregs; + ci->nregs = MRB_PROC_CFUNC_P(p) ? (int)(argc+2) : p->body.irep->nregs; stack_extend(mrb, ci->nregs); mrb->c->stack[0] = self; -- cgit v1.2.3 From 0bff4b6a09deaf73837b2af8b36c9358ae9fe9a0 Mon Sep 17 00:00:00 2001 From: Tomasz Dąbrowski Date: Mon, 25 Sep 2017 16:58:11 +0200 Subject: fix: src\vm.c(1702): warning C4244: '=': conversion from 'mrb_int' to 'int', possible loss of data --- src/vm.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/vm.c b/src/vm.c index b6927d36f..91ab6793f 100644 --- a/src/vm.c +++ b/src/vm.c @@ -1699,7 +1699,7 @@ RETRY_TRY_BLOCK: struct RArray *ary = mrb_ary_ptr(stack[m1]); pp = ARY_PTR(ary); - len = ARY_LEN(ary); + len = (int)ARY_LEN(ary); } regs[a] = mrb_ary_new_capa(mrb, m1+len+m2); rest = mrb_ary_ptr(regs[a]); -- cgit v1.2.3 From ebd45b107280f4e18fa7e43ecd208cb636264219 Mon Sep 17 00:00:00 2001 From: Tomasz Dąbrowski Date: Mon, 25 Sep 2017 16:58:30 +0200 Subject: fix: src\vm.c(1744): warning C4244: '=': conversion from 'mrb_int' to 'int', possible loss of data --- src/vm.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/vm.c b/src/vm.c index 91ab6793f..238d32dae 100644 --- a/src/vm.c +++ b/src/vm.c @@ -1741,7 +1741,7 @@ RETRY_TRY_BLOCK: if (argc < 0) { struct RArray *ary = mrb_ary_ptr(regs[1]); argv = ARY_PTR(ary); - argc = ARY_LEN(ary); + argc = (int)ARY_LEN(ary); mrb_gc_protect(mrb, regs[1]); } if (mrb->c->ci->proc && MRB_PROC_STRICT_P(mrb->c->ci->proc)) { -- cgit v1.2.3 From 77d6a953ff87cd6edbfabc5f646bc494b1c77702 Mon Sep 17 00:00:00 2001 From: Tomasz Dąbrowski Date: Mon, 25 Sep 2017 16:48:25 +0200 Subject: fix: src\vm.c(1757): warning C4244: '=': conversion from 'mrb_int' to 'int', possible loss of data --- src/vm.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/vm.c b/src/vm.c index 238d32dae..28eeaac7a 100644 --- a/src/vm.c +++ b/src/vm.c @@ -1754,7 +1754,7 @@ RETRY_TRY_BLOCK: } else if (len > 1 && argc == 1 && mrb_array_p(argv[0])) { mrb_gc_protect(mrb, argv[0]); - argc = RARRAY_LEN(argv[0]); + argc = (int)RARRAY_LEN(argv[0]); argv = RARRAY_PTR(argv[0]); } if (argc < len) { -- cgit v1.2.3 From 999ce87129fb9216ae746140aa716a764a79b354 Mon Sep 17 00:00:00 2001 From: Tomasz Dąbrowski Date: Mon, 25 Sep 2017 16:48:04 +0200 Subject: fix: src\vm.c(2631): warning C4244: '=': conversion from 'mrb_int' to 'int', possible loss of data --- src/vm.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/vm.c b/src/vm.c index 28eeaac7a..b5a2aa7bf 100644 --- a/src/vm.c +++ b/src/vm.c @@ -2628,7 +2628,7 @@ RETRY_TRY_BLOCK: v = mrb_ary_new_from_values(mrb, 1, ®s[a]); } ary = mrb_ary_ptr(v); - len = ARY_LEN(ary); + len = (int)ARY_LEN(ary); if (len > pre + post) { v = mrb_ary_new_from_values(mrb, len - pre - post, ARY_PTR(ary)+pre); regs[a++] = v; -- cgit v1.2.3