diff options
| author | Yukihiro "Matz" Matsumoto <[email protected]> | 2021-01-22 18:38:53 +0900 |
|---|---|---|
| committer | Yukihiro "Matz" Matsumoto <[email protected]> | 2021-01-22 18:38:53 +0900 |
| commit | dc51d89ac22acc60b9bfeed87115863565b74085 (patch) | |
| tree | 4ac51e7949d187c87aa4fb29159b6f7ae02401b3 /include/mruby.h | |
| parent | c5c156a6dd57eddc87e2162172b202233e45ad70 (diff) | |
| download | mruby-dc51d89ac22acc60b9bfeed87115863565b74085.tar.gz mruby-dc51d89ac22acc60b9bfeed87115863565b74085.zip | |
Minimize the changes in #5277
Instead of including `mruby/presym.h` everywhere, we provided the
fallback `mruby/presym.inc` under `include/mruby` directory, and specify
`-I<build-dir>/include` before `-I<top-dir>/include` in `presym.rake`.
So even when someone drops `-I<build-dir>/include` in compiler options,
it just compiles without failure.
Diffstat (limited to 'include/mruby.h')
| -rw-r--r-- | include/mruby.h | 42 |
1 files changed, 20 insertions, 22 deletions
diff --git a/include/mruby.h b/include/mruby.h index aa6d2ab65..57f556e94 100644 --- a/include/mruby.h +++ b/include/mruby.h @@ -1298,31 +1298,33 @@ MRB_API void mrb_print_error(mrb_state *mrb); /* function for `raisef` formatting */ MRB_API mrb_value mrb_vformat(mrb_state *mrb, const char *format, va_list ap); +#include <mruby/presym.h> + /* macros to get typical exception objects note: + those E_* macros requires mrb_state* variable named mrb. + exception objects obtained from those macros are local to mrb */ -#define E_RUNTIME_ERROR mrb_exc_get_id(mrb, mrb_intern_lit(mrb, "RuntimeError")) -#define E_TYPE_ERROR mrb_exc_get_id(mrb, mrb_intern_lit(mrb, "TypeError")) -#define E_ZERODIV_ERROR mrb_exc_get_id(mrb, mrb_intern_lit(mrb, "ZeroDivisionError")) -#define E_ARGUMENT_ERROR mrb_exc_get_id(mrb, mrb_intern_lit(mrb, "ArgumentError")) -#define E_INDEX_ERROR mrb_exc_get_id(mrb, mrb_intern_lit(mrb, "IndexError")) -#define E_RANGE_ERROR mrb_exc_get_id(mrb, mrb_intern_lit(mrb, "RangeError")) -#define E_NAME_ERROR mrb_exc_get_id(mrb, mrb_intern_lit(mrb, "NameError")) -#define E_NOMETHOD_ERROR mrb_exc_get_id(mrb, mrb_intern_lit(mrb, "NoMethodError")) -#define E_SCRIPT_ERROR mrb_exc_get_id(mrb, mrb_intern_lit(mrb, "ScriptError")) -#define E_SYNTAX_ERROR mrb_exc_get_id(mrb, mrb_intern_lit(mrb, "SyntaxError")) -#define E_LOCALJUMP_ERROR mrb_exc_get_id(mrb, mrb_intern_lit(mrb, "LocalJumpError")) -#define E_REGEXP_ERROR mrb_exc_get_id(mrb, mrb_intern_lit(mrb, "RegexpError")) -#define E_FROZEN_ERROR mrb_exc_get_id(mrb, mrb_intern_lit(mrb, "FrozenError")) - -#define E_NOTIMP_ERROR mrb_exc_get_id(mrb, mrb_intern_lit(mrb, "NotImplementedError")) +#define E_RUNTIME_ERROR mrb_exc_get_id(mrb, MRB_SYM(RuntimeError)) +#define E_TYPE_ERROR mrb_exc_get_id(mrb, MRB_SYM(TypeError)) +#define E_ZERODIV_ERROR mrb_exc_get_id(mrb, MRB_SYM(ZeroDivisionError)) +#define E_ARGUMENT_ERROR mrb_exc_get_id(mrb, MRB_SYM(ArgumentError)) +#define E_INDEX_ERROR mrb_exc_get_id(mrb, MRB_SYM(IndexError)) +#define E_RANGE_ERROR mrb_exc_get_id(mrb, MRB_SYM(RangeError)) +#define E_NAME_ERROR mrb_exc_get_id(mrb, MRB_SYM(NameError)) +#define E_NOMETHOD_ERROR mrb_exc_get_id(mrb, MRB_SYM(NoMethodError)) +#define E_SCRIPT_ERROR mrb_exc_get_id(mrb, MRB_SYM(ScriptError)) +#define E_SYNTAX_ERROR mrb_exc_get_id(mrb, MRB_SYM(SyntaxError)) +#define E_LOCALJUMP_ERROR mrb_exc_get_id(mrb, MRB_SYM(LocalJumpError)) +#define E_REGEXP_ERROR mrb_exc_get_id(mrb, MRB_SYM(RegexpError)) +#define E_FROZEN_ERROR mrb_exc_get_id(mrb, MRB_SYM(FrozenError)) + +#define E_NOTIMP_ERROR mrb_exc_get_id(mrb, MRB_SYM(NotImplementedError)) #ifndef MRB_NO_FLOAT -#define E_FLOATDOMAIN_ERROR mrb_exc_get_id(mrb, mrb_intern_lit(mrb, "FloatDomainError")) +#define E_FLOATDOMAIN_ERROR mrb_exc_get_id(mrb, MRB_SYM(FloatDomainError)) #endif -#define E_KEY_ERROR mrb_exc_get_id(mrb, mrb_intern_lit(mrb, "KeyError")) +#define E_KEY_ERROR mrb_exc_get_id(mrb, MRB_SYM(KeyError)) MRB_API mrb_value mrb_yield(mrb_state *mrb, mrb_value b, mrb_value arg); MRB_API mrb_value mrb_yield_argv(mrb_state *mrb, mrb_value b, mrb_int argc, const mrb_value *argv); @@ -1389,7 +1391,7 @@ MRB_API mrb_value mrb_fiber_alive_p(mrb_state *mrb, mrb_value fib); * * Implemented in mruby-fiber */ -#define E_FIBER_ERROR mrb_exc_get_id(mrb, mrb_intern_lit(mrb, "FiberError")) +#define E_FIBER_ERROR (mrb_exc_get_id(mrb, MRB_SYM(FiberError))) MRB_API void mrb_stack_extend(mrb_state*, mrb_int); /* memory pool implementation */ @@ -1409,10 +1411,6 @@ MRB_API void mrb_show_copyright(mrb_state *mrb); MRB_API mrb_value mrb_format(mrb_state *mrb, const char *format, ...); -#ifdef MRB_PRESYM_SCANNING -# include <mruby/presym/scanning.h> -#endif - #if 0 /* memcpy and memset does not work with gdb reverse-next on my box */ /* use naive memcpy and memset instead */ |
