summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--error.c13
-rw-r--r--internal/error.h1
2 files changed, 12 insertions, 2 deletions
diff --git a/error.c b/error.c
index 88b8a0653e..59c6fa7dd6 100644
--- a/error.c
+++ b/error.c
@@ -1085,7 +1085,7 @@ die(void)
RBIMPL_ATTR_FORMAT(RBIMPL_PRINTF_FORMAT, 1, 0)
static void
-rb_bug_without_die(const char *fmt, va_list args)
+rb_bug_without_die_internal(const char *fmt, va_list args)
{
const char *file = NULL;
int line = 0;
@@ -1098,11 +1098,20 @@ rb_bug_without_die(const char *fmt, va_list args)
}
void
+rb_bug_without_die(const char *fmt, ...)
+{
+ va_list args;
+ va_start(args, fmt);
+ rb_bug_without_die_internal(fmt, args);
+ va_end(args);
+}
+
+void
rb_bug(const char *fmt, ...)
{
va_list args;
va_start(args, fmt);
- rb_bug_without_die(fmt, args);
+ rb_bug_without_die_internal(fmt, args);
va_end(args);
die();
}
diff --git a/internal/error.h b/internal/error.h
index 78b8d1d938..5d53f96b8e 100644
--- a/internal/error.h
+++ b/internal/error.h
@@ -185,6 +185,7 @@ NORETURN(static inline void rb_key_err_raise(VALUE mesg, VALUE recv, VALUE name)
static inline void Check_Type(VALUE v, enum ruby_value_type t);
static inline bool rb_typeddata_is_instance_of_inline(VALUE obj, const rb_data_type_t *data_type);
#define rb_typeddata_is_instance_of rb_typeddata_is_instance_of_inline
+void rb_bug_without_die(const char *fmt, ...);
RUBY_SYMBOL_EXPORT_BEGIN
/* error.c (export) */