aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--internal.h5
-rw-r--r--object.c6
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))
diff --git a/object.c b/object.c
index 184a72f1fa..6c0aa040b9 100644
--- a/object.c
+++ b/object.c
@@ -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