Yukihiro "Matz" Matsumoto
2e33c2d120
Remove unnecessary bit shift in rational_new_f.
2021-01-28 08:47:16 +09:00
Yukihiro "Matz" Matsumoto
d4101d0a08
Revert "Fix the wrong directory host-bin to host/bin."
...
This reverts commit 34f82f24e9 .
Ref #5282
2021-01-26 21:17:28 +09:00
Yukihiro "Matz" Matsumoto
63b7439ddf
Change mruby-config to print usage on invalid arguments.
...
Or no argument at all.
2021-01-26 11:37:01 +09:00
Yukihiro "Matz" Matsumoto
34f82f24e9
Fix the wrong directory host-bin to host/bin.
...
Where `mruby-config` command should be generated.
2021-01-26 11:35:59 +09:00
Yukihiro "Matz" Matsumoto
17ecf14511
Revert "Minimize the changes in #5277 "
...
This reverts commit dc51d89ac2 .
2021-01-26 10:57:07 +09:00
Yukihiro "Matz" Matsumoto
0903e2a72e
Silence 'loss of data' warnings.
2021-01-25 15:45:32 +09:00
Yukihiro "Matz" Matsumoto
efef4541aa
Fix a bug for the case frexp() return Infinity.
2021-01-25 15:44:59 +09:00
Yukihiro "Matz" Matsumoto
23e5c08e31
Should use a limit for 32 bit platform; ref 05a8cc44
2021-01-25 15:44:59 +09:00
Yukihiro "Matz" Matsumoto
05a8cc44cc
Define RAT_INT_LIMIT for 32 bit platforms.
2021-01-24 22:21:56 +09:00
Yukihiro "Matz" Matsumoto
f20e10686c
Prohibit r suffix after scientific notation (e.g. 1e10).
...
As CRuby does.
2021-01-24 21:43:20 +09:00
Yukihiro "Matz" Matsumoto
cc59860e40
Detect integer overflow in rational_new_f().
2021-01-24 21:42:34 +09:00
Yukihiro "Matz" Matsumoto
dc51d89ac2
Minimize the changes in #5277
...
Instead of including `mruby/presym.h` everywhere, we provided the
fallback `mruby/presym.inc` under `include/mruby` directory, and specify
`-I<build-dir>/include` before `-I<top-dir>/include` in `presym.rake`.
So even when someone drops `-I<build-dir>/include` in compiler options,
it just compiles without failure.
2021-01-22 18:38:53 +09:00
Yukihiro "Matz" Matsumoto
6c5ccd5abe
Merge branch 'avoid-including-presym.inc-in-existing-header-files' of https://github.com/shuujii/mruby into shuujii-avoid-including-presym.inc-in-existing-header-files
2021-01-21 14:53:18 +09:00
Yukihiro "Matz" Matsumoto
438d114917
Fix a bug that :_1 to cause syntax error; fix #5295
2021-01-21 14:45:06 +09:00
Yukihiro "Matz" Matsumoto
56fdc449eb
Better error messages with yacc tokens.
2021-01-21 14:42:39 +09:00
Yukihiro "Matz" Matsumoto
5e0f51c906
Silence gcc warning from strncpy().
2021-01-21 12:22:54 +09:00
dearblue
04a4e59c83
Fix build error for mruby-bin-debugger
...
This is a missing change in #5272 .
This issue was reported by @shuujii.
https://github.com/mruby/mruby/pull/5272#issuecomment-761819737
2021-01-18 00:00:53 +09:00
Yukihiro "Matz" Matsumoto
c7452ff61f
Define Rational#quo; fix #5268
2021-01-17 23:02:35 +09:00
dearblue
0fdf5d9bb9
Fix NULL pointer dereference with mruby-os-memsize and mruby-method
...
If it gets an insubstantial method object with `obj.method`, it will raise a `SIGSEGV` with `ObjectSpace.memsize_of(method)`.
2021-01-16 15:52:52 +09:00
Yukihiro "Matz" Matsumoto
4bba769b95
Avoid syntax error regarding colons in the expression; fix #5290
...
Reported and inspired by @hasumikin; based on CRuby's `parse.y`.
2021-01-15 22:49:40 +09:00
Yukihiro "Matz" Matsumoto
28d5dabacd
Merge pull request #5273 from dearblue/fiber
...
Capture the return value of `Fiber.yield` via C; ref #5261
2021-01-14 23:47:25 +09:00
Yukihiro "Matz" Matsumoto
a639a39883
Rational denominator should not be zero.
2021-01-13 09:17:20 +09:00
dearblue
0229446a30
Capture the return value of Fiber.yield via C; ref #5261
2021-01-12 23:04:36 +09:00
Yukihiro "Matz" Matsumoto
c7d96dbf84
Merge pull request #5289 from dearblue/sockaddr_un
...
Initialize all area of `struct sockaddr_un`
2021-01-12 22:22:44 +09:00
dearblue
8928bc2dce
Initialize all area of struct sockaddr_un
...
Members of `struct sockaddr_un` are requesting the definitions of `sun_family` and `sun_path`.
https://pubs.opengroup.org/onlinepubs/009696699/basedefs/sys/un.h.html
But the other members are optional and environment dependent.
In fact, other members are defined in the BSD series.
from NetBSD-9.1 <https://github.com/NetBSD/src/blob/da504f75982b244b2288bc9970bbc203bd77a9c1/sys/sys/un.h#L49-L53 >
```c
struct sockaddr_un {
unsigned char sun_len; /* sockaddr len excluding NUL */
sa_family_t sun_family; /* AF_UNIX */
char sun_path[104]; /* path name (gag) */
};
```
2021-01-12 21:35:18 +09:00
Yukihiro "Matz" Matsumoto
bec4d30dc6
Merge branch 'reorganize-ci' of https://github.com/dearblue/mruby into dearblue-reorganize-ci
2021-01-12 18:38:42 +09:00
Yukihiro "Matz" Matsumoto
1310368b3f
Silence Windows warnings (cast and setmode).
2021-01-12 16:25:30 +09:00
Yukihiro "Matz" Matsumoto
e1c9e7efab
Changed packing format of inline symbols.
...
To make inline symbols packed in 30 bits.
2021-01-12 14:51:33 +09:00
Yukihiro "Matz" Matsumoto
974e245ae0
Merge pull request #5285 from dearblue/io-unimps
...
Remove functions for unimplemented methods
2021-01-11 23:49:54 +09:00
dearblue
0c96c4c34a
Integrate the argument parsing part of IO.popen
2021-01-11 23:07:25 +09:00
dearblue
01897f8456
Remove functions for unimplemented methods
...
- Use `mrb_notimplement_m()` instead.
- Hide the unused `option_to_fd()` when `TARGET_OS_IPHONE` is enabled.
2021-01-11 23:01:53 +09:00
dearblue
66df8c619a
Create a mruby-config that can be run on the host by cross-building
...
The output directory will be `host-bin`, so it will be output as `<build-dir>/host-bin/mruby-config`.
It's still not available for target devices.
2021-01-11 17:07:05 +09:00
KOBAYASHI Shuji
90b53f4c29
Avoid including presym.inc in existing header files
...
Addressed an issue where existing programs linking `libmruby.a` could only
be built by adding `<build-dir>/include` to compiler's include path.
2021-01-11 09:21:07 +09:00
Yukihiro "Matz" Matsumoto
3deb3a7aac
Fix CI failure on Windows environment.
...
`1L` on Windows means `32 bit int`.
2021-01-10 22:52:41 +09:00
Yukihiro "Matz" Matsumoto
e66c6edaba
Fix mixture of inline int declaration in for statement.
2021-01-10 22:52:40 +09:00
Yukihiro "Matz" Matsumoto
e8e28eacc7
Revert "Revert "Simplify full-core.gembox""
...
This reverts commit 37d795dec7 .
This reapplies e20d652 (#4202 ), which is reverted, but its issue was solved
by 1d8456f .
2021-01-10 20:29:49 +09:00
dearblue
9877f4ca3c
Revert "Save&restore execution point (pc) in c->cibase->pc; fix #5261 "
...
This reverts commit a0c1e075e3 .
This is because the `mrb_callinfo::pc` has been reorganized, resulting in over-correction.
2021-01-10 13:33:17 +09:00
dearblue
ced89c25ff
Unified pc and err of mrb_callinfo
...
This enhances self-containment.
- Changed the `mrb_callinfo::pc` field to point to itself.
Previously it indicated the return destination of the previous call level.
`mrb_callinfo::pc` will now hold the address to its own `proc->body.irep->iseq`.
- Removed `mrb_callinfo::err` field.
This is because `mrb_callinfo::pc - 1` is semantically the same as the previous `err`.
- The `pc0` and `pc_save` variables in `mrb_vm_exec()` are no longer needed and have been deleted.
- It removes the argument because `cipush()` doesn't need to save the previous `pc`.
2021-01-10 13:23:43 +09:00
dearblue
16baea0677
Changes stackent to stack of mrb_callinfo
...
This enhances self-containment.
Previously `mrb_context::stack` had the current call level stack, but now it owns it.
The `mrb_context::stack` field, which is no longer needed, will be removed.
2021-01-10 13:23:35 +09:00
dearblue
58e9442737
Unified target_class and env of mrb_callinfo
...
If there is `env`, `env->c` means `target_class`.
2021-01-10 13:23:28 +09:00
Yukihiro "Matz" Matsumoto
6f6eabf05a
Fix wrong float to rational conversion in 32 bit mode.
2021-01-09 23:39:36 +09:00
Yukihiro "Matz" Matsumoto
62e5247300
Convert float number to rational by decoding mantissa.
2021-01-09 19:09:57 +09:00
Yukihiro "Matz" Matsumoto
12cc959998
Remove khash.h leftovers.
2021-01-09 19:09:56 +09:00
Yukihiro "Matz" Matsumoto
6587269af8
Merge pull request #5267 from shuujii/delay-test-code-build-until-rake-test
...
Delay test code build until `rake test`
2021-01-08 21:14:19 +09:00
Yukihiro "Matz" Matsumoto
a0c1e075e3
Save&restore execution point (pc) in c->cibase->pc; fix #5261
...
`mrb_fiber_resume()` can be called from C; ref #3056
2021-01-08 21:03:41 +09:00
KOBAYASHI Shuji
3a8d7bdf82
Delay test code build until rake test
...
With this change, the test code will not be built unless `rake test` is
run, so there will be almost no side effects even if `enable_test` is
always set (but, gems specified by `add_test_dependency` are included
in `libmruby.a`).
Also added are `test: build` task, which only builds the test code
(including the main code), and `test: run` task, which only runs tests
independent of build. Therefore, the idiom for building in parallel and
not running tests in parallel is `rake -m test:build && rake test:run`.
2021-01-08 20:36:54 +09:00
Yukihiro "Matz" Matsumoto
ec6f46c05d
Use nint() for implicit cast; ref #5260
2021-01-07 11:49:50 +09:00
Seeker
d52c82d648
Add heredoc_push_indented helper function
2021-01-06 16:46:44 -08:00
Seeker
e279528ff3
Fix line continuations with mixed indentation in squiggly heredocs
2021-01-06 16:35:46 -08:00
KOBAYASHI Shuji
90283432a4
Fix build with enable_cxx_exception
2021-01-06 19:03:10 +09:00