summaryrefslogtreecommitdiffhomepage
path: root/mrbgems/mruby-compiler/core/codegen.c
diff options
context:
space:
mode:
authorYukihiro "Matz" Matsumoto <[email protected]>2018-05-01 17:21:01 +0900
committerYukihiro "Matz" Matsumoto <[email protected]>2018-05-01 17:21:01 +0900
commit028e34d3452acd1eb5602b78ff5c52f4dbb8a1eb (patch)
tree44c40aeb8b0f1e69f1ed818405f780b12330953f /mrbgems/mruby-compiler/core/codegen.c
parent2a38eb9325e32b0b4aadf3fcf88843a515b00ca9 (diff)
downloadmruby-028e34d3452acd1eb5602b78ff5c52f4dbb8a1eb.tar.gz
mruby-028e34d3452acd1eb5602b78ff5c52f4dbb8a1eb.zip
Update `MRB_FLO_TO_STR_FMT` to "%.16g"; fix #4016
Diffstat (limited to 'mrbgems/mruby-compiler/core/codegen.c')
-rw-r--r--mrbgems/mruby-compiler/core/codegen.c12
1 files changed, 9 insertions, 3 deletions
diff --git a/mrbgems/mruby-compiler/core/codegen.c b/mrbgems/mruby-compiler/core/codegen.c
index b9451fb88..f71de9b4b 100644
--- a/mrbgems/mruby-compiler/core/codegen.c
+++ b/mrbgems/mruby-compiler/core/codegen.c
@@ -3049,8 +3049,8 @@ loop_pop(codegen_scope *s, int val)
if (val) push();
}
-MRB_API struct RProc*
-mrb_generate_code(mrb_state *mrb, parser_state *p)
+static struct RProc*
+generate_code(mrb_state *mrb, parser_state *p, int val)
{
codegen_scope *scope = scope_new(mrb, 0, 0);
struct RProc *proc;
@@ -3067,7 +3067,7 @@ mrb_generate_code(mrb_state *mrb, parser_state *p)
MRB_TRY(&scope->jmp) {
mrb->jmp = &scope->jmp;
/* prepare irep */
- codegen(scope, p->tree, NOVAL);
+ codegen(scope, p->tree, val);
proc = mrb_proc_new(mrb, scope->irep);
mrb_irep_decref(mrb, scope->irep);
mrb_pool_close(scope->mpool);
@@ -3086,3 +3086,9 @@ mrb_generate_code(mrb_state *mrb, parser_state *p)
}
MRB_END_EXC(&scope->jmp);
}
+
+MRB_API struct RProc*
+mrb_generate_code(mrb_state *mrb, parser_state *p)
+{
+ return generate_code(mrb, p, VAL);
+}