diff options
| author | Yukihiro "Matz" Matsumoto <[email protected]> | 2021-12-18 19:42:31 +0900 |
|---|---|---|
| committer | GitHub <[email protected]> | 2021-12-18 19:42:31 +0900 |
| commit | d7812bd3d6b059966f693ac406034e4ceb22f7d5 (patch) | |
| tree | 7a39c0bf206265426413ca7b722521c03d7b8928 | |
| parent | 9b65d0dc861f4a5d1605fa7fccb56f1758a2bd6f (diff) | |
| parent | 26338fe640720a39303885a98e6312210f051cde (diff) | |
| download | mruby-d7812bd3d6b059966f693ac406034e4ceb22f7d5.tar.gz mruby-d7812bd3d6b059966f693ac406034e4ceb22f7d5.zip | |
Merge pull request #5603 from dearblue/codegen_error
Print error before cleanup in `codegen_error()`
| -rw-r--r-- | mrbgems/mruby-compiler/core/codegen.c | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/mrbgems/mruby-compiler/core/codegen.c b/mrbgems/mruby-compiler/core/codegen.c index 54eb611ca..722c0b480 100644 --- a/mrbgems/mruby-compiler/core/codegen.c +++ b/mrbgems/mruby-compiler/core/codegen.c @@ -111,6 +111,15 @@ static void codegen_error(codegen_scope *s, const char *message) { if (!s) return; +#ifndef MRB_NO_STDIO + if (s->filename_sym && s->lineno) { + const char *filename = mrb_sym_name_len(s->mrb, s->filename_sym, NULL); + fprintf(stderr, "%s:%d: %s\n", filename, s->lineno, message); + } + else { + fprintf(stderr, "%s\n", message); + } +#endif while (s->prev) { codegen_scope *tmp = s->prev; if (s->irep) { @@ -137,15 +146,6 @@ codegen_error(codegen_scope *s, const char *message) mrb_pool_close(s->mpool); s = tmp; } -#ifndef MRB_NO_STDIO - if (s->filename_sym && s->lineno) { - const char *filename = mrb_sym_name_len(s->mrb, s->filename_sym, NULL); - fprintf(stderr, "%s:%d: %s\n", filename, s->lineno, message); - } - else { - fprintf(stderr, "%s\n", message); - } -#endif MRB_THROW(s->mrb->jmp); } |
