resolve conflict

parent c136d871
...@@ -171,6 +171,16 @@ typedef struct mrb_state { ...@@ -171,6 +171,16 @@ typedef struct mrb_state {
void *ud; /* auxiliary data */ void *ud; /* auxiliary data */
} mrb_state; } mrb_state;
#if __STDC_VERSION__ >= 201112L
# define mrb_noreturn _Noreturn
#elif defined __GNUC__ && !defined __STRICT_ANSI__
# define mrb_noreturn __attribute__((noreturn))
#elif defined _MSC_VER
# define mrb_noreturn __declspec(noreturn)
#else
# define mrb_noreturn
#endif
typedef mrb_value (*mrb_func_t)(mrb_state *mrb, mrb_value); typedef mrb_value (*mrb_func_t)(mrb_state *mrb, mrb_value);
struct RClass *mrb_define_class(mrb_state *, const char*, struct RClass*); struct RClass *mrb_define_class(mrb_state *, const char*, struct RClass*);
struct RClass *mrb_define_module(mrb_state *, const char*); struct RClass *mrb_define_module(mrb_state *, const char*);
...@@ -333,13 +343,13 @@ mrb_value mrb_obj_clone(mrb_state *mrb, mrb_value self); ...@@ -333,13 +343,13 @@ mrb_value mrb_obj_clone(mrb_state *mrb, mrb_value self);
#endif #endif
mrb_value mrb_exc_new(mrb_state *mrb, struct RClass *c, const char *ptr, long len); mrb_value mrb_exc_new(mrb_state *mrb, struct RClass *c, const char *ptr, long len);
void mrb_exc_raise(mrb_state *mrb, mrb_value exc); mrb_noreturn void mrb_exc_raise(mrb_state *mrb, mrb_value exc);
void mrb_raise(mrb_state *mrb, struct RClass *c, const char *msg); mrb_noreturn void mrb_raise(mrb_state *mrb, struct RClass *c, const char *msg);
void mrb_raisef(mrb_state *mrb, struct RClass *c, const char *fmt, ...); mrb_noreturn void mrb_raisef(mrb_state *mrb, struct RClass *c, const char *fmt, ...);
void mrb_name_error(mrb_state *mrb, mrb_sym id, const char *fmt, ...); mrb_noreturn void mrb_name_error(mrb_state *mrb, mrb_sym id, const char *fmt, ...);
void mrb_warn(mrb_state *mrb, const char *fmt, ...); void mrb_warn(mrb_state *mrb, const char *fmt, ...);
void mrb_bug(mrb_state *mrb, const char *fmt, ...); mrb_noreturn void mrb_bug(mrb_state *mrb, const char *fmt, ...);
void mrb_print_backtrace(mrb_state *mrb); void mrb_print_backtrace(mrb_state *mrb);
void mrb_print_error(mrb_state *mrb); void mrb_print_error(mrb_state *mrb);
......
...@@ -215,7 +215,7 @@ exc_debug_info(mrb_state *mrb, struct RObject *exc) ...@@ -215,7 +215,7 @@ exc_debug_info(mrb_state *mrb, struct RObject *exc)
} }
} }
void mrb_noreturn void
mrb_exc_raise(mrb_state *mrb, mrb_value exc) mrb_exc_raise(mrb_state *mrb, mrb_value exc)
{ {
mrb->exc = mrb_obj_ptr(exc); mrb->exc = mrb_obj_ptr(exc);
...@@ -227,7 +227,7 @@ mrb_exc_raise(mrb_state *mrb, mrb_value exc) ...@@ -227,7 +227,7 @@ mrb_exc_raise(mrb_state *mrb, mrb_value exc)
MRB_THROW(mrb->jmp); MRB_THROW(mrb->jmp);
} }
void mrb_noreturn void
mrb_raise(mrb_state *mrb, struct RClass *c, const char *msg) mrb_raise(mrb_state *mrb, struct RClass *c, const char *msg)
{ {
mrb_value mesg; mrb_value mesg;
...@@ -289,7 +289,7 @@ mrb_format(mrb_state *mrb, const char *format, ...) ...@@ -289,7 +289,7 @@ mrb_format(mrb_state *mrb, const char *format, ...)
return str; return str;
} }
void mrb_noreturn void
mrb_raisef(mrb_state *mrb, struct RClass *c, const char *fmt, ...) mrb_raisef(mrb_state *mrb, struct RClass *c, const char *fmt, ...)
{ {
va_list args; va_list args;
...@@ -301,7 +301,7 @@ mrb_raisef(mrb_state *mrb, struct RClass *c, const char *fmt, ...) ...@@ -301,7 +301,7 @@ mrb_raisef(mrb_state *mrb, struct RClass *c, const char *fmt, ...)
mrb_exc_raise(mrb, mrb_exc_new_str(mrb, c, mesg)); mrb_exc_raise(mrb, mrb_exc_new_str(mrb, c, mesg));
} }
void mrb_noreturn void
mrb_name_error(mrb_state *mrb, mrb_sym id, const char *fmt, ...) mrb_name_error(mrb_state *mrb, mrb_sym id, const char *fmt, ...)
{ {
mrb_value exc; mrb_value exc;
...@@ -332,7 +332,7 @@ mrb_warn(mrb_state *mrb, const char *fmt, ...) ...@@ -332,7 +332,7 @@ mrb_warn(mrb_state *mrb, const char *fmt, ...)
#endif #endif
} }
void mrb_noreturn void
mrb_bug(mrb_state *mrb, const char *fmt, ...) mrb_bug(mrb_state *mrb, const char *fmt, ...)
{ {
#ifdef ENABLE_STDIO #ifdef ENABLE_STDIO
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment