diff options
Diffstat (limited to 'include')
| -rw-r--r-- | include/mrbconf.h | 9 | ||||
| -rw-r--r-- | include/mruby.h | 1 | ||||
| -rw-r--r-- | include/mruby/boxing_word.h | 4 | ||||
| -rw-r--r-- | include/mruby/class.h | 7 | ||||
| -rw-r--r-- | include/mruby/string.h | 2 | ||||
| -rw-r--r-- | include/mruby/value.h | 12 |
6 files changed, 12 insertions, 23 deletions
diff --git a/include/mrbconf.h b/include/mrbconf.h index 0509f4ff9..3a574c7d2 100644 --- a/include/mrbconf.h +++ b/include/mrbconf.h @@ -40,19 +40,16 @@ /* no MRB_METHOD_T_STRUCT requires highest 2 bits of function pointers to be zero */ //#define MRB_METHOD_T_STRUCT -/* add -DMRB_INT16 to use 16bit integer for mrb_int; conflict with MRB_INT32 and MRB_INT64 */ -//#define MRB_INT16 - -/* add -DMRB_INT32 to use 32bit integer for mrb_int; conflict with MRB_INT16 and MRB_INT64; +/* add -DMRB_INT32 to use 32bit integer for mrb_int; conflict with MRB_INT64; Default for 32-bit CPU mode. */ //#define MRB_INT32 -/* add -DMRB_INT64 to use 64bit integer for mrb_int; conflict with MRB_INT16 and MRB_INT32; +/* add -DMRB_INT64 to use 64bit integer for mrb_int; conflict with MRB_INT32; Default for 64-bit CPU mode. */ //#define MRB_INT64 /* if no specific integer type is chosen */ -#if !defined(MRB_INT16) && !defined(MRB_INT32) && !defined(MRB_INT64) +#if !defined(MRB_INT32) && !defined(MRB_INT64) # if defined(MRB_64BIT) && !defined(MRB_NAN_BOXING) /* Use 64bit integers on 64bit architecture (without MRB_NAN_BOXING) */ # define MRB_INT64 diff --git a/include/mruby.h b/include/mruby.h index 04e0c0df7..671053ff9 100644 --- a/include/mruby.h +++ b/include/mruby.h @@ -1232,6 +1232,7 @@ MRB_API mrb_noreturn void mrb_raise(mrb_state *mrb, struct RClass *c, const char MRB_API mrb_noreturn void mrb_raisef(mrb_state *mrb, struct RClass *c, const char *fmt, ...); MRB_API mrb_noreturn void mrb_name_error(mrb_state *mrb, mrb_sym id, const char *fmt, ...); MRB_API mrb_noreturn void mrb_frozen_error(mrb_state *mrb, void *frozen_obj); +MRB_API mrb_noreturn void mrb_argnum_error(mrb_state *mrb, mrb_int argc, int min, int max); MRB_API void mrb_warn(mrb_state *mrb, const char *fmt, ...); MRB_API mrb_noreturn void mrb_bug(mrb_state *mrb, const char *fmt, ...); MRB_API void mrb_print_backtrace(mrb_state *mrb); diff --git a/include/mruby/boxing_word.h b/include/mruby/boxing_word.h index 5249b565a..1388bb9f6 100644 --- a/include/mruby/boxing_word.h +++ b/include/mruby/boxing_word.h @@ -7,10 +7,6 @@ #ifndef MRUBY_BOXING_WORD_H #define MRUBY_BOXING_WORD_H -#if defined(MRB_INT16) -# error MRB_INT16 is too small for MRB_WORD_BOXING. -#endif - #if defined(MRB_INT64) && !defined(MRB_64BIT) #error MRB_INT64 cannot be used with MRB_WORD_BOXING in 32-bit mode. #endif diff --git a/include/mruby/class.h b/include/mruby/class.h index 7c925f3b3..cbf96fef2 100644 --- a/include/mruby/class.h +++ b/include/mruby/class.h @@ -90,10 +90,17 @@ mrb_value mrb_instance_new(mrb_state *mrb, mrb_value cv); void mrb_class_name_class(mrb_state*, struct RClass*, struct RClass*, mrb_sym); mrb_bool mrb_const_name_p(mrb_state*, const char*, mrb_int); mrb_value mrb_class_find_path(mrb_state*, struct RClass*); +mrb_value mrb_mod_to_s(mrb_state*, mrb_value); void mrb_gc_mark_mt(mrb_state*, struct RClass*); size_t mrb_gc_mark_mt_size(mrb_state*, struct RClass*); void mrb_gc_free_mt(mrb_state*, struct RClass*); +#ifdef MRB_METHOD_CACHE +void mrb_mc_clear_by_class(mrb_state *mrb, struct RClass* c); +#else +#define mrb_mc_clear_by_class(mrb,c) +#endif + MRB_END_DECL #endif /* MRUBY_CLASS_H */ diff --git a/include/mruby/string.h b/include/mruby/string.h index 80b8fbaf8..a518d9147 100644 --- a/include/mruby/string.h +++ b/include/mruby/string.h @@ -447,7 +447,7 @@ MRB_API int mrb_str_cmp(mrb_state *mrb, mrb_value str1, mrb_value str2); */ MRB_API char *mrb_str_to_cstr(mrb_state *mrb, mrb_value str); -mrb_value mrb_str_pool(mrb_state *mrb, mrb_value str); +mrb_value mrb_str_pool(mrb_state *mrb, const char *s, mrb_int len, mrb_bool nofree); uint32_t mrb_str_hash(mrb_state *mrb, mrb_value str); mrb_value mrb_str_dump(mrb_state *mrb, mrb_value str); diff --git a/include/mruby/value.h b/include/mruby/value.h index f403c11ac..232beb1dc 100644 --- a/include/mruby/value.h +++ b/include/mruby/value.h @@ -34,10 +34,6 @@ typedef uint32_t mrb_sym; typedef uint8_t mrb_bool; struct mrb_state; -#if defined(MRB_INT16) && defined(MRB_INT64) -# error "You can't define MRB_INT16 and MRB_INT64 at the same time." -#endif - #if defined _MSC_VER && _MSC_VER < 1800 # define PRIo64 "llo" # define PRId64 "lld" @@ -63,14 +59,6 @@ struct mrb_state; # define MRB_PRIo PRIo64 # define MRB_PRId PRId64 # define MRB_PRIx PRIx64 -#elif defined(MRB_INT16) - typedef int16_t mrb_int; -# define MRB_INT_BIT 16 -# define MRB_INT_MIN (INT16_MIN>>MRB_FIXNUM_SHIFT) -# define MRB_INT_MAX (INT16_MAX>>MRB_FIXNUM_SHIFT) -# define MRB_PRIo PRIo16 -# define MRB_PRId PRId16 -# define MRB_PRIx PRIx16 #else typedef int32_t mrb_int; # define MRB_INT_BIT 32 |
