diff options
Diffstat (limited to 'src/codegen.c')
| -rw-r--r-- | src/codegen.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/codegen.c b/src/codegen.c index 6197da33e..6dcc747c3 100644 --- a/src/codegen.c +++ b/src/codegen.c @@ -2074,6 +2074,9 @@ scope_finish(codegen_scope *s, int idx) irep->syms = (mrb_sym *)codegen_realloc(s, s->syms, sizeof(mrb_sym)*s->slen); irep->slen = s->slen; } + if (s->filename) { + irep->filename = s->filename; + } irep->nlocals = s->nlocals; irep->nregs = s->nregs; @@ -2479,12 +2482,12 @@ codegen_start(mrb_state *mrb, parser_state *p) scope->filename = s; } if (setjmp(scope->jmp) != 0) { - if (scope->filename) mrb_free(mrb, scope->filename); + //if (scope->filename) mrb_free(mrb, scope->filename); return -1; } // prepare irep codegen(scope, p->tree, NOVAL); - if (scope->filename) mrb_free(mrb, scope->filename); + // if (scope->filename) mrb_free(mrb, scope->filename); mrb_pool_close(scope->mpool); return 0; } |
