summaryrefslogtreecommitdiffhomepage
AgeCommit message (Collapse)Author
2020-10-12Clarify the meaning of `MRB_IREP_STATIC`; ref #5084Yukihiro "Matz" Matsumoto
2020-10-12Remove duplicated constant `IREP_TT_SFLAG`; #5084Yukihiro "Matz" Matsumoto
2020-10-12Use Markdown section marker `#`; ref #5084 [ci skip]Yukihiro "Matz" Matsumoto
The fix was proposed by @dearblue
2020-10-12Add `const` modifier to `table` in `mrb_kwargs`; #5084Yukihiro "Matz" Matsumoto
The fix was proposed by @dearblue
2020-10-12Should use `PRId32` to dump `.i32`; ref #5084Yukihiro "Matz" Matsumoto
The fix was proposed by @dearblue
2020-10-12Update `bintest` of `mruby-bin-debugger`.Yukihiro "Matz" Matsumoto
Need to support `int / int -> int` update.
2020-10-12Add `const` before `struct mrb_irep` in `mruby-bin-debugger` gem.Yukihiro "Matz" Matsumoto
2020-10-12Remove `host-debug` internal target.Yukihiro "Matz" Matsumoto
Target `host-debug` to use `host` internal target with debugging configuration.
2020-10-12Use `NULL` instead of `0`; close #2467Yukihiro "Matz" Matsumoto
The PR was from @cubicdaiya.
2020-10-12Fix `mrb_int_mul_overflow()` to check either operand being zero.Yukihiro "Matz" Matsumoto
2020-10-12Embed debug information to resolve Windows VC's issue.Yukihiro "Matz" Matsumoto
2020-10-12Adjust backslash position in multi-line macros.Yukihiro "Matz" Matsumoto
2020-10-12Use `MRB_INT_MAX` instead of `INT_MAX` according to variable type.Yukihiro "Matz" Matsumoto
2020-10-12Remove duplicated patternKondo Uchio
2020-10-12Scan ruby files in directoriesUchio Kondo
2020-10-12Exact match to allowed method/variable namesKondo Uchio
2020-10-12Ensure exact match for symbols like foo!/foo?/foo=Uchio Kondo
e.g. symbols like "foo[]=" make invalid C codes
2020-10-12Skip C comments from scan target; close #5072Yukihiro "Matz" Matsumoto
The original PR was skipping Ruby comments as well, but caused some issues in test suites.
2020-10-12Restore old function names for compatibility; ref #5070Yukihiro "Matz" Matsumoto
- `mrb_check_intern()` to return `mrb_value` - `mrb_intern_check()` to return `mrb_sym` [NEW] Other new functions: - `mrb_intern_check_cstr()` - `mrb_intern_check_str()`
2020-10-12Scan source code lines from downloaded mrbgems; fix #5071Yukihiro "Matz" Matsumoto
2020-10-12Restore old function names for compatibility; fix #5070Yukihiro "Matz" Matsumoto
Rename new functions: - `mrb_convert_type(mrb,val,type,tname,method)` => `mrb_type_convert(mrb,val,type,tname,method)` - `mrb_check_convert_type(mrb,val,type,tname,method)` => `mrb_type_convert_check(mrb,val,type,tname,method)` Old names are defined by macros (support `tname` drop and `char*` => `mrb_sym` conversion).
2020-10-12Fix integer casting on 64 bit platforms.Yukihiro "Matz" Matsumoto
On platforms where `sizeof(long)` is 4, casting `(long)` can lose data or sign information.
2020-10-12Fix warning from VC regarding implicit int conversion.Yukihiro "Matz" Matsumoto
2020-10-12Made `Rational` overhaul.Yukihiro "Matz" Matsumoto
- Implement `Rational()` in `C`. - Use `float` to `rational` conversion function taken from: https://rosettacode.org/wiki/Convert_decimal_number_to_rational#C
2020-10-12Avoid `unsigned int`; Use `mrb_int` instead.Yukihiro "Matz" Matsumoto
2020-10-12Use `mrb_int` extensively instead of `int`.Yukihiro "Matz" Matsumoto
The mixture causes warnings on 64 bit Windows (VC).
2020-10-12Use `goto` to avoid problems with `DIRECT_THREADED`.Yukihiro "Matz" Matsumoto
You can now use `NEXT` within `switch` statement like 7c087eb.
2020-10-12Extract `div` code in VM and make them shared by `div` methods.Yukihiro "Matz" Matsumoto
2020-10-12Don't use `NEXT` within `switch` statement.Yukihiro "Matz" Matsumoto
On non-`gcc` compatible environment, `NEXT` is translated to `break`.
2020-10-12Remove meaningless `IO.open(1<<32)` test.Yukihiro "Matz" Matsumoto
2020-10-12Skip some `Math.atan2()` tests.Yukihiro "Matz" Matsumoto
Linux `atan2(3)` man page says: ``` If y is positive infinity (negative infinity) and x is positive infinity, +pi/4 (-pi/4) is re‐ turned. ``` But on Microsoft VC/MinGW, `atan2()` returns `NaN` if either of arguments is infinite. So we skip those tests on the platforms.
2020-10-12Explain `MRB_USE_MALLOC_TRIM`; ref #5069Yukihiro "Matz" Matsumoto
2020-10-12Remove compiler feature detectionRory OConnell
2020-10-12Better malloc_trim define nameRory OConnell
2020-10-12Work around removing tmp dirRory OConnell
2020-10-12Add call to malloc_trim on a full GCRory OConnell
2020-10-12Add methods for asking about compiler featuresRory OConnell
2020-10-12Remove obsolete `MRB_WITHOUT_FLOAT` macro from `numeric.c`.Yukihiro "Matz" Matsumoto
2020-10-12Change some `int` variables to `mrb_int`.Yukihiro "Matz" Matsumoto
To silence some warnings. This change cancels part of 7ef3604134.
2020-10-12Remove `full-core` from `target/appveyor.rb`.Yukihiro "Matz" Matsumoto
2020-10-12Update `IO#popen` to use keyword arguments instead of `Hash` args.Yukihiro "Matz" Matsumoto
2020-10-12Update `mrb_get_args()` keyword argument support [incompatible]Yukihiro "Matz" Matsumoto
* `mrb_kwargs` structure reordered (`values` and `rest` come last) * take symbols instead of C `char*`
2020-10-12Separate jump destination check in `OP_R_RETURN`.Yukihiro "Matz" Matsumoto
In the past code, the current `callinfo (ci)` was modified, thus it was possible to pop `ci` beyond the `cibase`, that could cause out of memory bound access for the code like the following: ```ruby def m2 lambda { Proc.new { return :return # return from the method } }.call.call :never_reached end p m2 ```
2020-10-12Make the scope of `const struct RProc *dst` narrower.Yukihiro "Matz" Matsumoto
2020-10-12Redefine `CHECKPOINT_*` macros.Yukihiro "Matz" Matsumoto
By definition `mrb_assert()` called only when `MRB_DEBUG` is defined too. But make I wanted to make clear that the local variable `current_checkpoint_tag` is only accessed when `MRB_DEBUG` is set by wrapping with `DEBUG_ONLY_EXPR()`.
2020-10-12Include `mruby/endian.h` only when `MRB_NO_FLOAT` is undefined.Yukihiro "Matz" Matsumoto
2020-10-12Abandon packing all lower case symbols with 6 characters.Yukihiro "Matz" Matsumoto
To make packed inline symbols within 31 bits, because the new method hash tables allows only 31 bits of symbols. They use top 1 bit to maek unused slots.
2020-10-12Add `U` prefix for `mrb_sym` dump.Yukihiro "Matz" Matsumoto
Since `%u` of `mrb_sym` may be its MSB turned on.
2020-10-12Don't compare `int' with `size_t` (from `sizeof()`).Yukihiro "Matz" Matsumoto
2020-10-12Use `mrb_integer()` instead of `mrb_int()`.Yukihiro "Matz" Matsumoto
`mrb_int()` includes implicit integer conversion, where `mrb_integer()` does not. In this case, we know `obj` is an integer before hand.