Remove broken `MRB_INT16` configuration option.

parent 2742ded3
...@@ -54,17 +54,13 @@ You can use mrbconfs with following ways: ...@@ -54,17 +54,13 @@ You can use mrbconfs with following ways:
* When defined removes floating point numbers from mruby. * When defined removes floating point numbers from mruby.
* It makes mruby easier to handle in "Microcontroller without FPU" and "Kernel Space". * It makes mruby easier to handle in "Microcontroller without FPU" and "Kernel Space".
`MRB_INT16`
* When defined `int16_t` will be defined as `mrb_int`.
* Conflicts with `MRB_INT32` and `MRB_INT64`.
`MRB_INT32` `MRB_INT32`
* When defined, or both `MRB_INT16` and `MRB_INT64` are not defined on 32-bit CPU mode, `int32_t` will be defined as `mrb_int`. * When defined, or `MRB_INT64` are not defined on 32-bit CPU mode, `mrb_int` will be defined as `int32_t`.
* Conflicts with `MRB_INT16` and `MRB_INT64`. * Conflicts with `MRB_INT64`.
`MRB_INT64` `MRB_INT64`
* When defined, or both `MRB_INT16` and `MRB_INT32` are not defined on 64-bit CPU mode, `int64_t` will be defined as `mrb_int`. * When defined, or `MRB_INT32` are not defined on 64-bit CPU mode, `mrb_int` will be defined as `int64_t`.
* Conflicts with `MRB_INT16` and `MRB_INT32`. * Conflicts with `MRB_INT32`.
## Garbage collector configuration. ## Garbage collector configuration.
......
...@@ -40,19 +40,16 @@ ...@@ -40,19 +40,16 @@
/* no MRB_METHOD_T_STRUCT requires highest 2 bits of function pointers to be zero */ /* no MRB_METHOD_T_STRUCT requires highest 2 bits of function pointers to be zero */
//#define MRB_METHOD_T_STRUCT //#define MRB_METHOD_T_STRUCT
/* add -DMRB_INT16 to use 16bit integer for mrb_int; conflict with MRB_INT32 and MRB_INT64 */ /* add -DMRB_INT32 to use 32bit integer for mrb_int; conflict with MRB_INT64;
//#define MRB_INT16
/* add -DMRB_INT32 to use 32bit integer for mrb_int; conflict with MRB_INT16 and MRB_INT64;
Default for 32-bit CPU mode. */ Default for 32-bit CPU mode. */
//#define MRB_INT32 //#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. */ Default for 64-bit CPU mode. */
//#define MRB_INT64 //#define MRB_INT64
/* if no specific integer type is chosen */ /* 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) # if defined(MRB_64BIT) && !defined(MRB_NAN_BOXING)
/* Use 64bit integers on 64bit architecture (without MRB_NAN_BOXING) */ /* Use 64bit integers on 64bit architecture (without MRB_NAN_BOXING) */
# define MRB_INT64 # define MRB_INT64
......
...@@ -7,10 +7,6 @@ ...@@ -7,10 +7,6 @@
#ifndef MRUBY_BOXING_WORD_H #ifndef MRUBY_BOXING_WORD_H
#define 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) #if defined(MRB_INT64) && !defined(MRB_64BIT)
#error MRB_INT64 cannot be used with MRB_WORD_BOXING in 32-bit mode. #error MRB_INT64 cannot be used with MRB_WORD_BOXING in 32-bit mode.
#endif #endif
......
...@@ -34,10 +34,6 @@ typedef uint32_t mrb_sym; ...@@ -34,10 +34,6 @@ typedef uint32_t mrb_sym;
typedef uint8_t mrb_bool; typedef uint8_t mrb_bool;
struct mrb_state; 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 #if defined _MSC_VER && _MSC_VER < 1800
# define PRIo64 "llo" # define PRIo64 "llo"
# define PRId64 "lld" # define PRId64 "lld"
...@@ -63,14 +59,6 @@ struct mrb_state; ...@@ -63,14 +59,6 @@ struct mrb_state;
# define MRB_PRIo PRIo64 # define MRB_PRIo PRIo64
# define MRB_PRId PRId64 # define MRB_PRId PRId64
# define MRB_PRIx PRIx64 # 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 #else
typedef int32_t mrb_int; typedef int32_t mrb_int;
# define MRB_INT_BIT 32 # define MRB_INT_BIT 32
......
...@@ -63,28 +63,25 @@ task :gitlab_config do ...@@ -63,28 +63,25 @@ task :gitlab_config do
configs = [] configs = []
[true, false].each do |mode_32| [true, false].each do |mode_32|
['', 'MRB_USE_FLOAT'].each do |float_conf| ['', 'MRB_USE_FLOAT'].each do |float_conf|
['', 'MRB_INT16', 'MRB_INT64'].each do |int_conf| ['', 'MRB_NAN_BOXING', 'MRB_WORD_BOXING'].each do |boxing_conf|
['', 'MRB_NAN_BOXING', 'MRB_WORD_BOXING'].each do |boxing_conf| ['', 'MRB_UTF8_STRING'].each do |utf8_conf|
['', 'MRB_UTF8_STRING'].each do |utf8_conf| next if (float_conf == 'MRB_USE_FLOAT') && (boxing_conf == 'MRB_NAN_BOXING')
next if (float_conf == 'MRB_USE_FLOAT') && (boxing_conf == 'MRB_NAN_BOXING') next if (int_conf == 'MRB_INT64') && (boxing_conf == 'MRB_NAN_BOXING')
next if (int_conf == 'MRB_INT64') && (boxing_conf == 'MRB_NAN_BOXING') next if (int_conf == 'MRB_INT64') && (boxing_conf == 'MRB_WORD_BOXING') && mode_32
next if (int_conf == 'MRB_INT16') && (boxing_conf == 'MRB_WORD_BOXING') env = [float_conf, int_conf, boxing_conf, utf8_conf].map do |conf|
next if (int_conf == 'MRB_INT64') && (boxing_conf == 'MRB_WORD_BOXING') && mode_32 conf == '' ? nil : "-D#{conf}=1"
env = [float_conf, int_conf, boxing_conf, utf8_conf].map do |conf| end.compact.join(' ')
conf == '' ? nil : "-D#{conf}=1" bit = mode_32 ? '-m32 ' : ''
end.compact.join(' ') _info = ''
bit = mode_32 ? '-m32 ' : '' _info += mode_32 ? '32bit ' : '64bit '
_info = '' _info += float_conf['USE'] ? 'float ' : ''
_info += mode_32 ? '32bit ' : '64bit ' _info += int_conf['16'] ? 'int16 ' : ''
_info += float_conf['USE'] ? 'float ' : '' _info += int_conf['64'] ? 'int64 ' : ''
_info += int_conf['16'] ? 'int16 ' : '' _info += boxing_conf['NAN'] ? 'nan ' : ''
_info += int_conf['64'] ? 'int64 ' : '' _info += boxing_conf['WORD'] ? 'word ' : ''
_info += boxing_conf['NAN'] ? 'nan ' : '' _info += utf8_conf['UTF8'] ? 'utf8 ' : ''
_info += boxing_conf['WORD'] ? 'word ' : '' _info = _info.gsub(/ +/, ' ').strip.tr(' ', '_')
_info += utf8_conf['UTF8'] ? 'utf8 ' : '' configs << { '_info' => _info, 'CFLAGS' => "#{bit}#{env}", 'LDFLAGS' => bit.strip.to_s }
_info = _info.gsub(/ +/, ' ').strip.tr(' ', '_')
configs << { '_info' => _info, 'CFLAGS' => "#{bit}#{env}", 'LDFLAGS' => bit.strip.to_s }
end
end end
end end
end end
......
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