diff options
| author | Yukihiro "Matz" Matsumoto <[email protected]> | 2021-01-26 10:57:07 +0900 |
|---|---|---|
| committer | Yukihiro "Matz" Matsumoto <[email protected]> | 2021-01-26 10:57:07 +0900 |
| commit | 17ecf145111f903d62952fb1b557ea60471d7408 (patch) | |
| tree | ac93ecf059dc48934a41e020f29986ea28e5ba42 /include | |
| parent | 165f79c877901db790070b97250633c5c92bcfe7 (diff) | |
| download | mruby-17ecf145111f903d62952fb1b557ea60471d7408.tar.gz mruby-17ecf145111f903d62952fb1b557ea60471d7408.zip | |
Revert "Minimize the changes in #5277"
This reverts commit dc51d89ac22acc60b9bfeed87115863565b74085.
Diffstat (limited to 'include')
| -rw-r--r-- | include/mruby.h | 42 | ||||
| -rw-r--r-- | include/mruby/presym.h | 4 | ||||
| -rw-r--r-- | include/mruby/presym.inc | 12 | ||||
| -rw-r--r-- | include/mruby/presym/enable.h | 16 |
4 files changed, 23 insertions, 51 deletions
diff --git a/include/mruby.h b/include/mruby.h index 57f556e94..aa6d2ab65 100644 --- a/include/mruby.h +++ b/include/mruby.h @@ -1298,33 +1298,31 @@ 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_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)) +#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")) #ifndef MRB_NO_FLOAT -#define E_FLOATDOMAIN_ERROR mrb_exc_get_id(mrb, MRB_SYM(FloatDomainError)) +#define E_FLOATDOMAIN_ERROR mrb_exc_get_id(mrb, mrb_intern_lit(mrb, "FloatDomainError")) #endif -#define E_KEY_ERROR mrb_exc_get_id(mrb, MRB_SYM(KeyError)) +#define E_KEY_ERROR mrb_exc_get_id(mrb, mrb_intern_lit(mrb, "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); @@ -1391,7 +1389,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_SYM(FiberError))) +#define E_FIBER_ERROR mrb_exc_get_id(mrb, mrb_intern_lit(mrb, "FiberError")) MRB_API void mrb_stack_extend(mrb_state*, mrb_int); /* memory pool implementation */ @@ -1411,6 +1409,10 @@ 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 */ diff --git a/include/mruby/presym.h b/include/mruby/presym.h index e3ce9214c..066b675e7 100644 --- a/include/mruby/presym.h +++ b/include/mruby/presym.h @@ -9,9 +9,7 @@ #if defined(MRB_NO_PRESYM) # include <mruby/presym/disable.h> -#elif defined(MRB_PRESYM_SCANNING) -# include <mruby/presym/scanning.h> -#else +#elif !defined(MRB_PRESYM_SCANNING) # include <mruby/presym/enable.h> #endif diff --git a/include/mruby/presym.inc b/include/mruby/presym.inc deleted file mode 100644 index d5b92430d..000000000 --- a/include/mruby/presym.inc +++ /dev/null @@ -1,12 +0,0 @@ -/** -** @file mruby/presym.inc - Fallback file for Preallocated Symbols -** -** See Copyright Notice in mruby.h -*/ - -/* - * Reading this file means you failed to specify `-I<build-dir>/include` - * in the configuration. I will not use `PRESYM*` macros for compilation. - */ - -#define MRB_NO_PRESYM diff --git a/include/mruby/presym/enable.h b/include/mruby/presym/enable.h index 4f03e6689..ddeb17e32 100644 --- a/include/mruby/presym/enable.h +++ b/include/mruby/presym/enable.h @@ -8,20 +8,6 @@ #define MRUBY_PRESYM_ENABLE_H #undef MRB_PRESYM_MAX -#define MRB_PRESYM_NAMED(lit, num, type, name) -#define MRB_PRESYM_UNNAMED(lit, num) -/* test for proper -I `<build-dir>/include` */ -/* fallback `presym.inc` defines `MRB_NO_PRESYM` */ -# include <mruby/presym.inc> - -#undef MRB_PRESYM_MAX -#undef MRB_PRESYM_NAMED -#undef MRB_PRESYM_UNNAMED - -#if defined(MRB_NO_PRESYM) -# include <mruby/presym/disable.h> -#else - #define MRB_PRESYM_NAMED(lit, num, type, name) MRB_##type##__##name = (num), #define MRB_PRESYM_UNNAMED(lit, num) @@ -52,6 +38,4 @@ enum mruby_presym { static const mrb_sym name[] = {__VA_ARGS__}; \ static void init_##name(mrb_state *mrb) {} -#endif /* !MRUBY_NO_PRESYM */ - #endif /* MRUBY_PRESYM_ENABLE_H */ |
