summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--doc/guides/mrbconf.md12
-rw-r--r--include/mrbconf.h9
-rw-r--r--include/mruby/boxing_word.h4
-rw-r--r--include/mruby/value.h12
-rw-r--r--tasks/gitlab.rake41
5 files changed, 26 insertions, 52 deletions
diff --git a/doc/guides/mrbconf.md b/doc/guides/mrbconf.md
index 2f81776df..1e1a5afcf 100644
--- a/doc/guides/mrbconf.md
+++ b/doc/guides/mrbconf.md
@@ -54,17 +54,13 @@ You can use mrbconfs with following ways:
* When defined removes floating point numbers from mruby.
* 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`
-* 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`.
-* Conflicts with `MRB_INT16` and `MRB_INT64`.
+* When defined, or `MRB_INT64` are not defined on 32-bit CPU mode, `mrb_int` will be defined as `int32_t`.
+* Conflicts with `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`.
-* Conflicts with `MRB_INT16` and `MRB_INT32`.
+* When defined, or `MRB_INT32` are not defined on 64-bit CPU mode, `mrb_int` will be defined as `int64_t`.
+* Conflicts with `MRB_INT32`.
## Garbage collector configuration.
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/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/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
diff --git a/tasks/gitlab.rake b/tasks/gitlab.rake
index 31c8c044a..377b1cc9d 100644
--- a/tasks/gitlab.rake
+++ b/tasks/gitlab.rake
@@ -63,28 +63,25 @@ task :gitlab_config do
configs = []
[true, false].each do |mode_32|
['', '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_UTF8_STRING'].each do |utf8_conf|
- 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_INT16') && (boxing_conf == 'MRB_WORD_BOXING')
- next if (int_conf == 'MRB_INT64') && (boxing_conf == 'MRB_WORD_BOXING') && mode_32
- env = [float_conf, int_conf, boxing_conf, utf8_conf].map do |conf|
- conf == '' ? nil : "-D#{conf}=1"
- end.compact.join(' ')
- bit = mode_32 ? '-m32 ' : ''
- _info = ''
- _info += mode_32 ? '32bit ' : '64bit '
- _info += float_conf['USE'] ? 'float ' : ''
- _info += int_conf['16'] ? 'int16 ' : ''
- _info += int_conf['64'] ? 'int64 ' : ''
- _info += boxing_conf['NAN'] ? 'nan ' : ''
- _info += boxing_conf['WORD'] ? 'word ' : ''
- _info += utf8_conf['UTF8'] ? 'utf8 ' : ''
- _info = _info.gsub(/ +/, ' ').strip.tr(' ', '_')
- configs << { '_info' => _info, 'CFLAGS' => "#{bit}#{env}", 'LDFLAGS' => bit.strip.to_s }
- end
+ ['', 'MRB_NAN_BOXING', 'MRB_WORD_BOXING'].each do |boxing_conf|
+ ['', 'MRB_UTF8_STRING'].each do |utf8_conf|
+ 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_WORD_BOXING') && mode_32
+ env = [float_conf, int_conf, boxing_conf, utf8_conf].map do |conf|
+ conf == '' ? nil : "-D#{conf}=1"
+ end.compact.join(' ')
+ bit = mode_32 ? '-m32 ' : ''
+ _info = ''
+ _info += mode_32 ? '32bit ' : '64bit '
+ _info += float_conf['USE'] ? 'float ' : ''
+ _info += int_conf['16'] ? 'int16 ' : ''
+ _info += int_conf['64'] ? 'int64 ' : ''
+ _info += boxing_conf['NAN'] ? 'nan ' : ''
+ _info += boxing_conf['WORD'] ? 'word ' : ''
+ _info += utf8_conf['UTF8'] ? 'utf8 ' : ''
+ _info = _info.gsub(/ +/, ' ').strip.tr(' ', '_')
+ configs << { '_info' => _info, 'CFLAGS' => "#{bit}#{env}", 'LDFLAGS' => bit.strip.to_s }
end
end
end