Yukihiro "Matz" Matsumoto
44de80f76d
fix a compiler warning for uninitialized variable
2016-06-10 10:11:58 +09:00
Yukihiro "Matz" Matsumoto
6b0299f72b
fixed remaining bugs in OP_ASGN stack adjustment; close #3159
2016-05-16 15:36:36 +09:00
Yukihiro "Matz" Matsumoto
29d3a40418
stack adjustment after NODE_OP_ASGN with NODE_CALL was wrong; fix #3159
2016-05-16 01:49:24 +09:00
Yukihiro "Matz" Matsumoto
2e81fee731
parser_dump() to show symbol number for NODE_SYM
2016-05-16 01:49:24 +09:00
cremno
309791b3ae
raise the error at runtime; fix #3152
2016-05-09 16:57:56 +02:00
Yukihiro "Matz" Matsumoto
e1e888e354
fix too much optimization for ||=
2016-04-01 01:22:16 +09:00
Yukihiro "Matz" Matsumoto
d098d823de
fix duplicated eval in op_asgn
...
`a` in `a.m += c` or `a[b] += c` should be evaluated only once.
2016-03-30 20:43:57 +09:00
Yukihiro "Matz" Matsumoto
4979b52d61
reduce OP_ARRAY in argument splat
2016-03-30 01:35:11 +09:00
Yukihiro "Matz" Matsumoto
3886becec5
better code generation for ||=; #3138
2016-03-24 16:03:58 +09:00
Yukihiro "Matz" Matsumoto
1ce471c1cc
||= with cvars and constants should work with false values; #3138
2016-03-24 07:59:58 +09:00
Yukihiro "Matz" Matsumoto
4fcff34747
||= reference error can happen with constants as well; #3138
2016-03-23 23:51:23 +09:00
Yukihiro "Matz" Matsumoto
21a3ae08f7
add safe-navigation (aka lonely) operator &.
2016-03-23 08:51:25 +09:00
Yukihiro "Matz" Matsumoto
2b0baec32a
fixed silly class variable/constant confusion; #3138
2016-03-22 00:06:32 +09:00
Yukihiro "Matz" Matsumoto
a02acf2635
rescue NameError from class variable access like @@foo ||= 42; fix #3138
2016-03-21 03:49:08 +09:00
Yukihiro "Matz" Matsumoto
41d6ba23b5
fix dump_prefix() with wrong type argument; fix #3128
2016-03-07 10:59:34 +09:00
Yukihiro "Matz" Matsumoto
b8479b62d8
too many register push for else-less condtions; fix #3117
2016-02-22 09:55:51 +09:00
Yukihiro "Matz" Matsumoto
819c9da8d2
peephole optimization for LOADNIL before STRCAT; ref #3110
2016-02-17 11:03:27 +09:00
Yukihiro "Matz" Matsumoto
d8fc09cf92
push value for NULL AST when value is required; fix #3110
2016-02-17 11:02:29 +09:00
Yukihiro "Matz" Matsumoto
da96c335fe
syntax error in interpolated symbol; fixed #3108
2016-02-16 11:33:58 +09:00
HAYASHI Kentaro
9442cb9652
Fix a typo
...
su ported ->
supported
^
2016-01-31 00:48:12 +09:00
Yukihiro "Matz" Matsumoto
f7afe1d82a
change mrb_run related API names; compatibility macros provided
2016-01-07 22:36:29 +09:00
Yasuhiro Matsumoto
f0205e1182
rename include blocker
2015-12-25 13:43:01 +09:00
Kazuho Oku
adadbf5792
in peekc_n, adjust column number after calling nextc
2015-12-21 15:08:56 +09:00
Yukihiro "Matz" Matsumoto
1636ad41a6
C++ compiler does not like cast from pointer to enum; ref #3039
2015-12-01 10:17:35 +09:00
Yukihiro "Matz" Matsumoto
c2996514d3
should ignore block to next, break, etc. fix #3039
2015-12-01 09:38:42 +09:00
Yukihiro "Matz" Matsumoto
5c405dea3d
include changed from by quotes ("") to by brackets (<>); close #3032
2015-11-27 17:48:23 +09:00
Simon Génier
058ffcb29c
Fix MRB_DISABLE_STDIO typo.
2015-11-23 11:05:33 -05:00
Simon Génier
40f237e938
Fix typo on MRB_DISABLE_STDIO.
2015-11-19 17:03:34 -05:00
Yukihiro "Matz" Matsumoto
4440566b95
DISABLE_STDIO/ENABLE_DEBUG macros to rename; close #3014
...
changes:
* rename DISABLE_STDIO -> MRB_DISABLE_STDIO
* rename ENABLE_DEBUG -> MRB_ENABLE_DEBUG_HOOK
* no more opposite macro definitions (e.g. ENABLE_STDIO, DISABLE_DEBUG).
* rewrite above macro references throughout the code.
* update documents
2015-11-17 07:30:34 +09:00
Yukihiro "Matz" Matsumoto
b41f1180c8
fixed SEGV in mrb_parser_dump(NODE_COLON3)
2015-10-21 21:15:35 +09:00
Yukihiro "Matz" Matsumoto
0a94c69cc3
optimize if statement with constant condition
2015-10-01 19:29:05 +09:00
Yukihiro "Matz" Matsumoto
744578687d
Merge pull request #2961 from takahashim/regex_enc
...
support Regexp literal option: //n and //u
2015-10-01 19:26:37 +09:00
Yasuhiro Matsumoto
545d649eff
fix tests on windows.
...
'bin/mruby' not work on windows. so correct command name and quoted arguments.
2015-09-30 16:13:02 +09:00
takahashim
f187fdd996
support Regexp literal option: //n and //u
2015-09-26 09:41:38 +09:00
Yukihiro "Matz" Matsumoto
2574adab48
compiler: allow "class A end" by tweaking the superclass rule like CRuby2.3
2015-08-11 16:27:48 +09:00
Yukihiro "Matz" Matsumoto
e4f32ad9ad
codegen: don't need to genop(); just update s->iseq directly
2015-08-10 15:19:32 +09:00
Yukihiro "Matz" Matsumoto
dfaff83eba
codegen: add peep hole optimization to skip overridden OP_MOVE
2015-08-10 15:11:00 +09:00
Yukihiro "Matz" Matsumoto
b34ee9a4b4
codegen: reserve stack region for OP_APOST; fix #2824
2015-08-10 14:55:48 +09:00
cremno
ca49936468
pop cmdarg in lambda body; fix [ruby-bug#11380]
...
regression introduced by 2fe556d9c0
2015-07-29 20:52:32 +02:00
Yukihiro "Matz" Matsumoto
1dbb2b74d3
Merge pull request #2874 from cremno/fix-parser-oob-write
...
Coverity: fix oob write by actually truncating buffer
2015-07-03 15:03:45 +09:00
cremno
24583a7a18
fix oob write by actually truncating buffer
...
Found by Coverity scan of polyfox-moon:
CID 121927 (#1 of 1): Out-of-bounds write (OVERRUN)
2015-07-03 01:30:54 +02:00
cremno
6a74b8bf0d
add missing fall through comments
2015-07-02 22:11:21 +02:00
Jurriaan Pruis
a41f5eb23f
Fix segfault found using afl-fuzz
2015-06-28 13:46:23 +02:00
Franck Verrot
2588507285
Remove unnecessary backticks.
...
Dr Markus Kuhn published in 1999 an article [1] explaining in details
why we shouldn't use the ASCII grave accent (0x60) as a left quotation.
Backticks have been used most notably to produce nice-looking LaTeX
documents but it doesn't seem to be an issue on modern platforms and
for the oldest ones, there are workarounds as mentioned by Dr Kuhn.
[1]: https://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
2015-06-24 13:07:07 +02:00
cremno
b721d449e6
push only after OP_GETCONST in VAL mode; ref #2769
2015-06-02 07:57:27 +02:00
Yukihiro "Matz" Matsumoto
2f635f56cb
update lex.def using gperf 3.0.4
2015-06-01 21:57:53 +09:00
take_cheeze
6460ef77bc
Compile mruby compiler as mrbgem.
...
Compiler codes is moved to "mruby-compiler".
Executable `mrbc` is moved to "mruby-bin-mrbc".
2015-06-01 21:53:55 +09:00