summaryrefslogtreecommitdiffhomepage
AgeCommit message (Collapse)Author
2019-12-05Auto detect `MRB_TIME_T_UINT`KOBAYASHI Shuji
2019-12-05Merge pull request #4851 from shuujii/refine-mrb_allocaYukihiro "Matz" Matsumoto
Refine `mrb_alloca()`
2019-12-04Refine `mrb_alloca()`KOBAYASHI Shuji
* The allocated memory is guaranteed to be aligned for any data type (it was not guaranteed when string type is embed). * Make allocation size exactly specified size (does not allocate space for a null byte).
2019-12-04Merge pull request #4850 from ↵Yukihiro "Matz" Matsumoto
shuujii/silence-Clang-warning-with-MRB_INT64-and-MRB_32BIT-in-time.c Silence Clang warning with `MRB_INT64` and `MRB_32BIT` in `time.c`
2019-12-03Silence Clang warning with `MRB_INT64` and `MRB_32BIT` in `time.c`KOBAYASHI Shuji
Silence the following warnings: ``` /mruby/mrbgems/mruby-time/src/time.c:871:15: warning: result of comparison of constant 9223372036854775807 with expression of type 'time_t' (aka 'long') is always false [-Wtautological-constant-out-of-range-compare] if (tm->sec > MRB_INT_MAX || tm->sec < MRB_INT_MIN) { ~~~~~~~ ^ ~~~~~~~~~~~ /mruby/mrbgems/mruby-time/src/time.c:871:40: warning: result of comparison of constant -9223372036854775808 with expression of type 'time_t' (aka 'long') is always false [-Wtautological-constant-out-of-range-compare] if (tm->sec > MRB_INT_MAX || tm->sec < MRB_INT_MIN) { ~~~~~~~ ^ ~~~~~~~~~~~ /mruby/mrbgems/mruby-time/src/time.c:887:16: warning: result of comparison of constant 9223372036854775807 with expression of type 'time_t' (aka 'long') is always false [-Wtautological-constant-out-of-range-compare] if (tm->usec > MRB_INT_MAX || tm->usec < MRB_INT_MIN) { ~~~~~~~~ ^ ~~~~~~~~~~~ /mruby/mrbgems/mruby-time/src/time.c:887:42: warning: result of comparison of constant -9223372036854775808 with expression of type 'time_t' (aka 'long') is always false [-Wtautological-constant-out-of-range-compare] if (tm->usec > MRB_INT_MAX || tm->usec < MRB_INT_MIN) { ~~~~~~~~ ^ ~~~~~~~~~~~ ```
2019-12-03Merge pull request #4849 from ↵Yukihiro "Matz" Matsumoto
shuujii/silence-Clang-warning-with-MRB_INT32-and-MRB_64BIT-in-time.c Silence Clang warning with `MRB_INT32` and `MRB_64BIT` in `time.c`
2019-12-02Silence Clang warning with `MRB_INT32` and `MRB_64BIT` in `time.c`KOBAYASHI Shuji
Silence the following warning: ``` /mruby/mrbgems/mruby-time/src/time.c:258:60: warning: result of comparison of constant -9223372036854775808 with expression of type 'mrb_int' (aka 'int') is always false [-Wtautological-constant-out-of-range-compare] if ((mrb_time_int)i > MRB_TIME_MAX || MRB_TIME_MIN > i) { ~~~~~~~~~~~~ ^ ~ ```
2019-12-02Merge pull request #4848 from ↵Yukihiro "Matz" Matsumoto
shuujii/fix-MRB_FIXNUM_SHIFT-with-MRB_WORD_BOXING-MRB_INT32-and-MRB_64BIT Fix `MRB_FIXNUM_SHIFT` with `MRB_WORD_BOXING`, `MRB_INT32` and `MRB_64BIT`
2019-12-01Fix `MRB_FIXNUM_SHIFT` with `MRB_WORD_BOXING`, `MRB_INT32` and `MRB_64BIT`KOBAYASHI Shuji
### Example ```ruby # example.rb max32 = 2**30 - 1 + 2**30 min32 = -max32-1 [max32, max32+1, min32, min32-1].each{|n| p [n, n.class]} ``` #### Before this patch: ``` $ bin/mruby example.rb [2147483647, Float] [2147483648, Float] [-2147483648, Float] [-2147483649, Float] ``` #### After this patch: ``` $ bin/mruby example.rb [2147483647, Fixnum] [2147483648, Float] [-2147483648, Fixnum] [-2147483649, Float] ```
2019-11-30Use a string as a common regexp representation; ref #4847Yukihiro "Matz" Matsumoto
2019-11-30Merge pull request #4847 from ↵Yukihiro "Matz" Matsumoto
shuujii/quit-mruby-v-immediately-if-no-program-is-given Quit `mruby -v` immediately if no program is given for Ruby compatibility
2019-11-30Quit `mruby -v` immediately if no program is given for Ruby compatibilityKOBAYASHI Shuji
2019-11-29Merge pull request #4846 from shuujii/fix-mruby---verbose-regression-by--4827Yukihiro "Matz" Matsumoto
Fix `mruby --verbose` (regression by #4827)
2019-11-29Fix `mruby --verbose` (regression by #4827)KOBAYASHI Shuji
#### Before this patch: ``` $ bin/mruby --verbose -e 'p 1' bin/mruby: Cannot open program file: --verbose ``` #### After this patch: ``` $ bin/mruby --verbose -e 'p 1' 00001 NODE_SCOPE: (snip) irep 0x7fe97041df30 nregs=4 nlocals=1 pools=0 syms=1 reps=0 iseq=11 file: -e 1 000 OP_LOADSELF R1 (snip) 1 ```
2019-11-29Merge pull request #4845 from shuujii/change-URL-of-mruby.orgYukihiro "Matz" Matsumoto
Change the URL of `mruby.org` [ci skip]
2019-11-28Change the URL of `mruby.org` [ci skip]KOBAYASHI Shuji
- `http` -> `https` - Remove `www.`
2019-11-27Merge pull request #4843 from shuujii/support-end-of-options-to-mruby-commandYukihiro "Matz" Matsumoto
Support `--` (end of options) to `mruby` command
2019-11-27Support `--` (end of options) to `mruby` commandKOBAYASHI Shuji
#### Before this patch: ``` $ bin/mruby -e 'p ARGV' -- -x bin/mruby: invalid option -- (-h will show valid options) ``` #### After this patch: ``` $ bin/mruby -e 'p ARGV' -- -x ["-x"] ```
2019-11-27Merge pull request #4837 from shuujii/add-assertion-to-RVALUE-sizeYukihiro "Matz" Matsumoto
Add assertion to `RVALUE` size
2019-11-26Merge pull request #4838 from ↵Yukihiro "Matz" Matsumoto
shuujii/rename-BITSIZE-to-BIT-and-BIT-to-BIT_POS-for-consistency Rename `BITSIZE` to `BIT` and `BIT` to `BIT_POS` for consistency
2019-11-25Merge pull request #4841 from ↵Yukihiro "Matz" Matsumoto
shuujii/fix-ARGV-value-in-mruby-command-regression-by-4827 Fix `ARGV` value in `mruby` command (regression by #4827)
2019-11-25Fix `ARGV` value in `mruby` command (regression by #4827)KOBAYASHI Shuji
#### Before this patch: ``` $ bin/mruby -e 'p ARGV' a b ["bin/mruby", "-e", "p ARGV", "a", "b"] ``` #### After this patch: ``` $ bin/mruby -e 'p ARGV' a b ["a", "b"] ```
2019-11-25Merge pull request #4827 from ↵Yukihiro "Matz" Matsumoto
shuujii/support-short-options-concatenation-to-mruby-command Support short options concatenation to `mruby` command
2019-11-24Merge pull request #4840 from shuujii/remove-unused-methods-of-MRubyIOTestUtilYukihiro "Matz" Matsumoto
Remove unused methods of `MRubyIOTestUtil`
2019-11-24Remove unused methods of `MRubyIOTestUtil`KOBAYASHI Shuji
2019-11-24Merge pull request #4834 from ↵Yukihiro "Matz" Matsumoto
shuujii/use-proper-PEEK-macro-for-OP_EPUSH-in-patch_irep Use proper `PEEK` macro for `OP_EPUSH` in `patch_irep`; fix #4833
2019-11-23Rename `BITSIZE` to `BIT` and `BIT` to `BIT_POS` for consistencyKOBAYASHI Shuji
The bit width terminology is unified to `BIT` according to `MRB_INT_BIT` and `CHAR_BIT`. Also the bit position terminology is unified to `BIT_POS`.
2019-11-23Add assertion to `RVALUE` sizeKOBAYASHI Shuji
2019-11-23Merge pull request #4836 from shuujii/allow-true-false-argument-to-Kernel-exitYukihiro "Matz" Matsumoto
Allow `true`/`false` argument to `Kernel#exit`
2019-11-22Merge pull request #4835 from ↵Yukihiro "Matz" Matsumoto
shuujii/introduce-mrb_ssize-type-for-buffer-size-on-memory Introduce `mrb_ssize` type for buffer size on memory; ref #4483
2019-11-22Allow `true`/`false` argument to `Kernel#exit`KOBAYASHI Shuji
2019-11-21Introduce `mrb_ssize` type for buffer size on memory; ref #4483KOBAYASHI Shuji
Previously, `mrb_int` was used as the type that represents the buffer size on memory, but the sizes of `RString` and `RArray` exceed 6 words when `MRB_INT64` is enabled on 32-bit CPU. I don't think it is necessary to be able to represent the buffer size on memory that exceeds the virtual address space. Therefore, for this purpose, introduce `mrb_ssize` which doesn't exceed the sizes of `mrb_int` and pointer. I think all `mrb_int` used for this purpose should be changed to `mrb_ssize`, but currently only the members of the structures (`RString`, `mrb_shared_string`, `RArray` and `mrb_shared_array`) are changed.
2019-11-20Use proper `PEEK` macro for `OP_EPUSH` in `patch_irep`; fix #4833KOBAYASHI Shuji
2019-11-19Merge pull request #4831 from ↵Yukihiro "Matz" Matsumoto
shuujii/always-enable-the-rational-and-complex-literals Always enable the rational and complex literals
2019-11-19Merge pull request #4830 from mruby/stableYukihiro "Matz" Matsumoto
Release `mruby 2.1.0`.
2019-11-19Always enable the rational and complex literalsKOBAYASHI Shuji
I think they can always be enabled because the regular expression literal is always enabled.
2019-11-19Release `mruby 2.1.0`.2.1.0Hiroshi Mimaki
2019-11-19Merge pull request #4828 from shuujii/refactor-mrb_string_value_cstrYukihiro "Matz" Matsumoto
Refactor `mrb_string_value_cstr`
2019-11-19Refactor `mrb_string_value_cstr`KOBAYASHI Shuji
- Keep `MRB_STR_ASCII` flag. - Avoid a string object creation.
2019-11-18Merge pull request #4825 from shuujii/fix-argument-specs-to-KernelYukihiro "Matz" Matsumoto
Fix argument specs to `Kernel`
2019-11-17Support short options concatenation to `mruby` commandKOBAYASHI Shuji
#### Before this patch: ``` $ bin/mruby -ce 1 bin/mruby: Cannot open program file: 1 ``` #### After this patch: ``` $ bin/mruby -ce 1 Syntax OK ```
2019-11-17Merge pull request #4826 from ↵Yukihiro "Matz" Matsumoto
shuujii/revert-Implement-Ruby2.7-frozen-strings-from-Symbol-to_s Revert "Implement Ruby2.7's frozen strings from `Symbol#to_s`"
2019-11-16Revert "Implement Ruby2.7's frozen strings from `Symbol#to_s`"KOBAYASHI Shuji
This feature was reverted from Ruby 2.7.
2019-11-15Fix argument specs to `Kernel`KOBAYASHI Shuji
2019-11-15Merge pull request #4823 from shuujii/fix-here-document-with-EOFYukihiro "Matz" Matsumoto
Fix here document with EOF
2019-11-14Fix here document with EOFKOBAYASHI Shuji
#### Before this patch: ``` $ bin/mruby -e 'p <<EOS 1 EOS' -e:4:0: can't find heredoc delimiter "EOS" anywhere before EOF -e:4:0: syntax error, unexpected $end, expecting tHEREDOC_END or tHD_STRING_PART or tHD_STRING_MID ``` #### After this patch (same as Ruby): ``` $ bin/mruby -e 'p <<EOS 1 EOS' "1\n" ```
2019-11-13Merge pull request #4821 from shuujii/use-mrb_intern_lit-if-possible-in-parse.yYukihiro "Matz" Matsumoto
Use `mrb_intern_lit` if possible in `parse.y`
2019-11-13Revert a76dc04 to resolve #4820Yukihiro "Matz" Matsumoto
2019-11-13Use `mrb_intern_lit` if possible in `parse.y`KOBAYASHI Shuji
2019-11-13Merge pull request #4819 from ↵Yukihiro "Matz" Matsumoto
shuujii/use-intern-instead-of-intern_cstr-if-possible-in-parse.y Use `intern` instead of `intern_cstr` if possible in `parse.y`