diff options
-rw-r--r-- | internal.h | 5 | ||||
-rw-r--r-- | object.c | 6 |
2 files changed, 8 insertions, 3 deletions
diff --git a/internal.h b/internal.h index cab6c8a545..6b9c9011c3 100644 --- a/internal.h +++ b/internal.h @@ -1131,6 +1131,11 @@ PRINTF_ARGS(void rb_enc_warning(rb_encoding *enc, const char *fmt, ...), 2, 3); PRINTF_ARGS(void rb_sys_enc_warning(rb_encoding *enc, const char *fmt, ...), 2, 3); PRINTF_ARGS(void rb_syserr_enc_warning(int err, rb_encoding *enc, const char *fmt, ...), 3, 4); +#define rb_raise_cstr(etype, mesg) \ + rb_exc_raise(rb_exc_new_str(etype, rb_str_new_cstr(mesg))) +#define rb_raise_static(etype, mesg) \ + rb_exc_raise(rb_exc_new_str(etype, rb_str_new_static(mesg, rb_strlen_lit(mesg)))) + VALUE rb_name_err_new(VALUE mesg, VALUE recv, VALUE method); #define rb_name_err_raise_str(mesg, recv, name) \ rb_exc_raise(rb_name_err_new(mesg, recv, name)) @@ -2963,11 +2963,11 @@ rb_str_to_dbl(VALUE str, int badcheck) #define special_const_to_float(val, pre, post) \ switch (val) { \ case Qnil: \ - rb_raise(rb_eTypeError, pre "nil" post); \ + rb_raise_static(rb_eTypeError, pre "nil" post); \ case Qtrue: \ - rb_raise(rb_eTypeError, pre "true" post); \ + rb_raise_static(rb_eTypeError, pre "true" post); \ case Qfalse: \ - rb_raise(rb_eTypeError, pre "false" post); \ + rb_raise_static(rb_eTypeError, pre "false" post); \ } static inline void |