diff --git a/include/mruby/internal.h b/include/mruby/internal.h index 86883f821..02500521b 100644 --- a/include/mruby/internal.h +++ b/include/mruby/internal.h @@ -79,8 +79,8 @@ mrb_int mrb_div_int(mrb_int x, mrb_int y); mrb_value mrb_int_add(mrb_state *mrb, mrb_value x, mrb_value y); mrb_value mrb_int_sub(mrb_state *mrb, mrb_value x, mrb_value y); mrb_value mrb_int_mul(mrb_state *mrb, mrb_value x, mrb_value y); -void mrb_int_zerodiv(mrb_state *mrb); -void mrb_int_overflow(mrb_state *mrb, const char *reason); +mrb_noreturn void mrb_int_zerodiv(mrb_state *mrb); +mrb_noreturn void mrb_int_overflow(mrb_state *mrb, const char *reason); #ifdef MRB_USE_COMPLEX mrb_value mrb_complex_new(mrb_state *mrb, mrb_float x, mrb_float y); diff --git a/src/numeric.c b/src/numeric.c index 90fb58c2d..7d2b3a8b4 100644 --- a/src/numeric.c +++ b/src/numeric.c @@ -21,13 +21,13 @@ #endif #endif -void +mrb_noreturn void mrb_int_overflow(mrb_state *mrb, const char *reason) { mrb_raisef(mrb, E_RANGE_ERROR, "integer overflow in %s", reason); } -void +mrb_noreturn void mrb_int_zerodiv(mrb_state *mrb) { mrb_raise(mrb, E_ZERODIV_ERROR, "divided by 0");