From f1d85c2f97904a17c0454d778ce6b59ea93bbd14 Mon Sep 17 00:00:00 2001 From: ksss Date: Thu, 24 Apr 2014 13:18:57 +0000 Subject: mrb_range_new excl flag use mrb_bool insteard of int --- src/codegen.c | 4 ++-- src/range.c | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) (limited to 'src') diff --git a/src/codegen.c b/src/codegen.c index a36d609c6..f657c3a32 100644 --- a/src/codegen.c +++ b/src/codegen.c @@ -1448,7 +1448,7 @@ codegen(codegen_scope *s, node *tree, int val) codegen(s, tree->cdr, val); if (val) { pop(); pop(); - genop(s, MKOP_ABC(OP_RANGE, cursp(), cursp(), 0)); + genop(s, MKOP_ABC(OP_RANGE, cursp(), cursp(), FALSE)); push(); } break; @@ -1458,7 +1458,7 @@ codegen(codegen_scope *s, node *tree, int val) codegen(s, tree->cdr, val); if (val) { pop(); pop(); - genop(s, MKOP_ABC(OP_RANGE, cursp(), cursp(), 1)); + genop(s, MKOP_ABC(OP_RANGE, cursp(), cursp(), TRUE)); push(); } break; diff --git a/src/range.c b/src/range.c index 6b1f7faa2..95ef0f209 100644 --- a/src/range.c +++ b/src/range.c @@ -33,7 +33,7 @@ range_check(mrb_state *mrb, mrb_value a, mrb_value b) } mrb_value -mrb_range_new(mrb_state *mrb, mrb_value beg, mrb_value end, int excl) +mrb_range_new(mrb_state *mrb, mrb_value beg, mrb_value end, mrb_bool excl) { struct RRange *r; -- cgit v1.2.3 From aca3a1f3fb9c90f0414aa1d909a62bf25db0bfe8 Mon Sep 17 00:00:00 2001 From: ksss Date: Thu, 24 Apr 2014 13:25:59 +0000 Subject: range_init argument for exclude_end use mrb_bool --- src/range.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src') diff --git a/src/range.c b/src/range.c index 95ef0f209..b59b234ef 100644 --- a/src/range.c +++ b/src/range.c @@ -95,7 +95,7 @@ mrb_range_excl(mrb_state *mrb, mrb_value range) } static void -range_init(mrb_state *mrb, mrb_value range, mrb_value beg, mrb_value end, int exclude_end) +range_init(mrb_state *mrb, mrb_value range, mrb_value beg, mrb_value end, mrb_bool exclude_end) { struct RRange *r = mrb_range_ptr(range); -- cgit v1.2.3 From fa1a1e6db8cd0307ac6e351625cfad0233d5f87f Mon Sep 17 00:00:00 2001 From: mirichi Date: Fri, 25 Apr 2014 21:49:29 +0900 Subject: Refactoring OP_CALL --- src/vm.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src') diff --git a/src/vm.c b/src/vm.c index 9d62ce548..717c927c8 100644 --- a/src/vm.c +++ b/src/vm.c @@ -1114,7 +1114,7 @@ RETRY_TRY_BLOCK: } regs = mrb->c->stack; regs[0] = m->env->stack[0]; - pc = m->body.irep->iseq; + pc = irep->iseq; JUMP; } } -- cgit v1.2.3 From 215f8fdd645405aacc789ba42d38cb74a8605505 Mon Sep 17 00:00:00 2001 From: take_cheeze Date: Fri, 25 Apr 2014 21:56:02 +0900 Subject: Fix lineno overwrite in parser_init_cxt. By reordering parsing string with mrb_parser_parse won't always start with line 1. --- src/parse.y | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src') diff --git a/src/parse.y b/src/parse.y index 43c0c7321..0d281feeb 100644 --- a/src/parse.y +++ b/src/parse.y @@ -5263,8 +5263,8 @@ static void parser_init_cxt(parser_state *p, mrbc_context *cxt) { if (!cxt) return; - if (cxt->lineno) p->lineno = cxt->lineno; if (cxt->filename) mrb_parser_set_filename(p, cxt->filename); + if (cxt->lineno) p->lineno = cxt->lineno; if (cxt->syms) { int i; -- cgit v1.2.3 From 1fdc072032c7d4ee68338d1addcb8ef0c2cba9f2 Mon Sep 17 00:00:00 2001 From: kyab Date: Sat, 26 Apr 2014 00:00:40 +0900 Subject: Fix MSVC warnings for error.c --- src/error.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'src') diff --git a/src/error.c b/src/error.c index feaa61122..8f13dcf77 100644 --- a/src/error.c +++ b/src/error.c @@ -199,7 +199,7 @@ exc_debug_info(mrb_state *mrb, struct RObject *exc) mrb_callinfo *ci = mrb->c->ci; mrb_code *pc = ci->pc; - mrb_obj_iv_set(mrb, exc, mrb_intern_lit(mrb, "ciidx"), mrb_fixnum_value(ci - mrb->c->cibase)); + mrb_obj_iv_set(mrb, exc, mrb_intern_lit(mrb, "ciidx"), mrb_fixnum_value((mrb_int)(ci - mrb->c->cibase))); while (ci >= mrb->c->cibase) { mrb_code *err = ci->err; @@ -207,8 +207,8 @@ exc_debug_info(mrb_state *mrb, struct RObject *exc) if (err && ci->proc && !MRB_PROC_CFUNC_P(ci->proc)) { mrb_irep *irep = ci->proc->body.irep; - int32_t const line = mrb_debug_get_line(irep, err - irep->iseq); - char const* file = mrb_debug_get_filename(irep, err - irep->iseq); + int32_t const line = mrb_debug_get_line(irep, (uint32_t)(err - irep->iseq)); + char const* file = mrb_debug_get_filename(irep, (uint32_t)(err - irep->iseq)); if (line != -1 && file) { mrb_obj_iv_set(mrb, exc, mrb_intern_lit(mrb, "file"), mrb_str_new_cstr(mrb, file)); mrb_obj_iv_set(mrb, exc, mrb_intern_lit(mrb, "line"), mrb_fixnum_value(line)); -- cgit v1.2.3