Commit Graph

6543 Commits

Author SHA1 Message Date
Nobuhiro Iwamatsu 3bcf570a17 Fix build on MIPS of linux
MIPS of Linux platform is supported frexpl(3).
This fixes to use the frexpl that are provided with gcc if user wants to build
on MIPS of Linux platform.

Signe-doff-by: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
2015-06-06 09:05:53 +09:00
Yukihiro "Matz" Matsumoto 630c2c5853 Merge pull request #2823 from cremno/remove-unnecessary-mrb_immediate_p
remove unnecessary mrb_immediate_p()
2015-06-03 22:40:43 +09:00
Yukihiro "Matz" Matsumoto ebbc7d0e82 Merge pull request #2822 from cremno/directly-call-ary_new_capa
directly call ary_new_capa()
2015-06-03 22:39:18 +09:00
Yukihiro "Matz" Matsumoto 059da2ad56 Merge pull request #2821 from cremno/push-only-after-op_getconst-in-val-mode
push only after OP_GETCONST in VAL mode
2015-06-03 22:38:32 +09:00
cremno ef0fc90cd0 remove unnecessary mrb_immediate_p()
`!mrb_array_p(ary2)` and `mrb_type(obj) != MRB_TT_DATA` are  sufficient.
2015-06-02 08:56:41 +02:00
cremno 599d141cc8 directly call ary_new_capa() 2015-06-02 08:34:36 +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
Yukihiro "Matz" Matsumoto 214bc3c95a Merge pull request #2819 from cremno/only-genop-non-lvar-gets-in-val-mode
only generate gets of non-local vars in VAL mode
2015-06-01 21:40:11 +09:00
Yukihiro "Matz" Matsumoto ddab53e66f Merge pull request #2820 from cremno/add-too-big-array-size-checks
fix two potential cases of signed integer overflow
2015-06-01 21:39:21 +09:00
Yukihiro "Matz" Matsumoto 3739299823 Merge pull request #2818 from Mav7/master
Added more documentation for some of the functions found in mruby.h and value.h
2015-06-01 21:38:37 +09:00
Yukihiro "Matz" Matsumoto b6121adc7d singleton_class should not be duped; fix #2815 2015-06-01 21:30:07 +09:00
cremno 7e8fb15457 only generate gets of non-local vars in VAL mode
This fixes a crash for code like "#{@a;1}".

Unlike CRuby globals are excluded too since mruby doesn't implement
hooking.
2015-06-01 13:54:20 +02:00
cremno dc0e335664 fix two potential cases of signed integer overflow 2015-06-01 13:23:43 +02:00
Ralph Desir b357a6320d Update AUTHORS 2015-06-01 00:59:22 -04:00
Ralph Desir f8b1de0ab4 Update README.md 2015-06-01 00:54:30 -04:00
Ralph Desir 1d90018cfa Update mruby.h.md 2015-06-01 00:44:34 -04:00
Ralph Desir 297b6fe6e6 Update value.h.md
Wrote documentation for functions found in the value.h file.
2015-06-01 00:42:23 -04:00
Mav7 1400c6e88b Added a .md file for value.h 2015-05-31 23:50:56 -04:00
Ralph Desir d90ccd7e6d Update mruby.h.md 2015-05-31 23:33:36 -04:00
Ralph Desir 4959e4958a Update mruby.h.md 2015-05-31 23:27:12 -04:00
Ralph Desir 7284d1d295 Update mruby.h.md
Added documentation of more of the C API functions found inside mruby.h
2015-05-31 23:26:33 -04:00
Yukihiro "Matz" Matsumoto bd2686d82d singleton_class should not be cloned; close #2815 2015-06-01 00:13:12 +09:00
Yukihiro "Matz" Matsumoto c80f500c68 Merge pull request #2814 from cremno/fix-masgn-nosplat-array-rhs-bug
fix masgn nosplat array rhs bug
2015-05-31 22:12:49 +09:00
cremno 5cd877be7f fix masgn nosplat array rhs bug
The rest lhs variable has to be an empty array if rhs is an array with
less elements than pre + post lhs variables. The codegen generated
OP_ARRAY with an invalid length (such as 127 for *a, b = []) because rn
was negative.
2015-05-31 13:30:49 +02:00
Yukihiro "Matz" Matsumoto 6a1978c7e1 fix OP_APOST bug for no pre arg cases; fix #2810 2015-05-31 18:30:37 +09:00
Yukihiro "Matz" Matsumoto 9ef4bbb10d update test/t/syntax.rb to success on CRuby 2015-05-31 18:29:26 +09:00
Yukihiro "Matz" Matsumoto 8dd6b0fd09 Merge branch 'failing-multiple-assignments-with-rest-tests' of https://github.com/cremno/mruby into cremno-failing-multiple-assignments-with-rest-tests 2015-05-31 17:02:45 +09:00
Yukihiro "Matz" Matsumoto b720cb635a Merge pull request #2811 from cremno/check-if-outer-is-a-class-or-module
check if outer is a class or module
2015-05-31 17:01:49 +09:00
Yukihiro "Matz" Matsumoto d9f191cf97 Merge pull request #2809 from cremno/codegen-remove-unreachable-code
codegen: remove unreachable code
2015-05-31 17:00:36 +09:00
cremno 59ea323976 check if outer is a class or module
For modules this check didn't exist yet. Also call #inspect.
2015-05-29 14:58:53 +02:00
cremno ba3a0c22a5 add multiple assignment with rest tests 2015-05-29 12:17:13 +02:00
cremno 2554fd9c94 remove unreachable code
It's just a copy of the code in the previous case (NODE_CALL).
2015-05-29 11:29:11 +02:00
Yukihiro "Matz" Matsumoto b05d736b49 update mrblib/*.rb files to conform (some of) Rubocop checks 2015-05-29 17:01:52 +09:00
Yukihiro "Matz" Matsumoto 13a2cc3e5d Merge pull request #2807 from cremno/fix-capture-group-index-parsing-ub-bug
fix capture group index bug
2015-05-29 02:03:13 +09:00
Yukihiro "Matz" Matsumoto 55fed387a9 Merge pull request #2806 from cremno/simplify-mruby-ctype-macros
mruby.h: simplify ctype-like macros
2015-05-29 02:01:03 +09:00
cremno ce31272dba fix capture group index bug
atoi() is used to convert the index to an int but the behavior is
undefined if the value can't be represented.

> $9999999999
00007 NODE_SCOPE:
00007   NODE_BEGIN:
00007     NODE_NTH_REF: $2147483647
irep 00630580 nregs=2 nlocals=1 pools=0 syms=1 reps=0
file: (mirb)
7 000 OP_GETGLOBAL  R1      :$2147483647
7 001 OP_STOP

Call strtoul() instead as its behavior in such cases is defined and add
a simple range check.

Alternatively NODE_NTH_REF's cdr could be changed from int to mrb_sym
(like NODE_GVAR).
2015-05-28 12:52:44 +02:00
cremno 2ee84eb3df remove unnecessary including of <ctype.h>
Not needed anymore since 85075bef75
2015-05-28 10:44:20 +02:00
cremno 85075bef75 simplify all IS* and TO* macros
Reduces the file size (by up to 2 KB with VS2015 RC, /O2, /MD) and
removes the requirement of including <ctype.h> before their usage.
Multiple macro argument evaluation and lack of type-checking is still an
issue.
2015-05-28 10:20:41 +02:00
cremno cd4cc3bd9d simplify ISASCII() macro 2015-05-28 10:10:05 +02:00
Yukihiro "Matz" Matsumoto b1871cf446 Merge pull request #2804 from take-cheeze/mruby_throw_h
Move "src/mrb_throw.h" to "include/mruby/throw.h".
2015-05-26 23:38:50 +09:00
take_cheeze 6498d90f1b Move "src/mrb_throw.h" to "include/mruby/throw.h".
Related to #2760.
2015-05-25 21:19:24 +09:00
Yukihiro "Matz" Matsumoto f709054910 Merge pull request #2802 from take-cheeze/move_codedump
Move `mrb_codedump_all` to "src/codedump.c".
2015-05-24 01:44:47 +09:00
Yukihiro "Matz" Matsumoto f0424ff308 Merge pull request #2803 from carsonmcdonald/specinheredoc
Add null check on lex_strterm in heredoc block
2015-05-24 01:40:51 +09:00
Carson McDonald 4a791701bc Add null check on lex_strterm in heredoc block 2015-05-23 11:10:10 -04:00
take_cheeze 46e50492eb Move mrb_codedump_all to "src/codedump.c".
Related to #2760.
2015-05-23 17:55:44 +09:00
Yukihiro "Matz" Matsumoto b97c6d10a2 Merge pull request #2801 from carsonmcdonald/fix2779
Add locals null checks
2015-05-23 16:11:22 +09:00
Yukihiro "Matz" Matsumoto a94ff9666e Merge pull request #2800 from carsonmcdonald/proccheck
Verify that proc_lambda is passed a proc
2015-05-23 16:09:54 +09:00
Carson McDonald 3e911a8e14 Add locals null checks 2015-05-22 10:42:50 -04:00