25#define MRB_EXC_EXIT 65536
26#define MRB_EXC_EXIT_P(e) ((e)->flags & MRB_EXC_EXIT)
28#define MRB_EXC_EXIT_STATUS(mrb,e) ((int)mrb_as_int((mrb),mrb_obj_iv_get((mrb),(e),MRB_SYM(status))))
30#define MRB_EXC_CHECK_EXIT(mrb,e) do {if (MRB_EXC_EXIT_P(e)) exit(MRB_EXC_EXIT_STATUS((mrb),(e)));} while (0)
32#define mrb_exc_ptr(v) ((struct RException*)mrb_ptr(v))
36#define mrb_exc_new_lit(mrb, c, lit) mrb_exc_new_str(mrb, c, mrb_str_new_lit(mrb, lit))
39#if defined(MRB_64BIT) || defined(MRB_USE_FLOAT32) || defined(MRB_NAN_BOXING) || defined(MRB_WORD_BOXING)
40#undef MRB_USE_RBREAK_VALUE_UNION
42#define MRB_USE_RBREAK_VALUE_UNION 1
52 uintptr_t ci_break_index;
53#ifndef MRB_USE_RBREAK_VALUE_UNION
60#ifndef MRB_USE_RBREAK_VALUE_UNION
61#define mrb_break_value_get(brk) ((brk)->val)
62#define mrb_break_value_set(brk, v) ((brk)->val = v)
64#define RBREAK_VALUE_TT_MASK ((1 << 8) - 1)
66mrb_break_value_get(
struct RBreak *brk)
69 val.value = brk->value;
70 val.tt = (
enum mrb_vtype)(brk->flags & RBREAK_VALUE_TT_MASK);
76 brk->value = val.value;
77 brk->flags &= ~RBREAK_VALUE_TT_MASK;
128 mrb_int len,
struct RClass **classes);
mruby common platform definition"
#define MRB_END_DECL
End declarations in C mode.
Definition common.h:28
#define MRB_BEGIN_DECL
Start declarations in C mode.
Definition common.h:26
#define MRB_API
Declare a public mruby API function.
Definition common.h:79
#define mrb_noreturn
Shared compiler macros.
Definition common.h:50
void mrb_clear_error(mrb_state *mrb)
Error check.
Definition error.c:647
mrb_value mrb_protect(mrb_state *mrb, mrb_func_t body, mrb_value data, mrb_bool *state)
Protect (takes mrb_value for body argument)
mrb_value mrb_protect_error_func(mrb_state *mrb, void *userdata)
Protect.
Definition error.h:95
mrb_value mrb_rescue_exceptions(mrb_state *mrb, mrb_func_t body, mrb_value b_data, mrb_func_t rescue, mrb_value r_data, mrb_int len, struct RClass **classes)
Rescue exception.
mrb_value mrb_rescue(mrb_state *mrb, mrb_func_t body, mrb_value b_data, mrb_func_t rescue, mrb_value r_data)
Rescue.
mrb_value mrb_ensure(mrb_state *mrb, mrb_func_t body, mrb_value b_data, mrb_func_t ensure, mrb_value e_data)
Ensure.
mrb_value(* mrb_func_t)(struct mrb_state *mrb, mrb_value self)
Function pointer type for a function callable by mruby.
Definition mruby.h:230
Class class.
Definition class.h:17
mruby error handling.
Definition error.h:17
Definition boxing_nan.h:40
Definition boxing_no.h:15