summaryrefslogtreecommitdiffhomepage
AgeCommit message (Collapse)Author
2015-04-24Include name of current build config in data directory namefurunkel
2015-04-24Renamefurunkel
2015-04-24Let all benchmarks start with bm_furunkel
2015-04-24Add build files for benchmarkings; add mandelbrot benchmarkfurunkel
2015-04-23Don't echo to stdoutfurunkel
2015-04-23Add task for running and plotting benchmarksfurunkel
2015-04-19Merge pull request #2766 from furunkel/builtin_overflowYukihiro "Matz" Matsumoto
Use builtins for overflow math if possible
2015-04-19Merge pull request #2768 from kou/suppress-write-strings-warningsYukihiro "Matz" Matsumoto
Suppress warnings generated by -Wwrite-strings
2015-04-18Suppress warnings generated by -Wwrite-stringsKouhei Sutou
Here are suppressed warnings: src/fmt_fp.c: In function 'fmt_fp': src/fmt_fp.c:124:16: warning: initialization discards 'const' qualifier from pointer target type char *ss = (t&32)?"inf":"INF"; ^ src/fmt_fp.c:125:17: warning: assignment discards 'const' qualifier from pointer target type if (y!=y) ss=(t&32)?"nan":"NAN"; ^ mrbgems/mruby-string-ext/src/string.c: In function 'mrb_str_succ_bang': mrbgems/mruby-string-ext/src/string.c:302:27: warning: assignment discards 'const' qualifier from pointer target type if (e == b) prepend = "1"; ^ mrbgems/mruby-string-ext/src/string.c:305:27: warning: assignment discards 'const' qualifier from pointer target type if (e == b) prepend = "a"; ^ mrbgems/mruby-string-ext/src/string.c:308:27: warning: assignment discards 'const' qualifier from pointer target type if (e == b) prepend = "A"; ^ mrbgems/mruby-bin-mruby/tools/mruby/mruby.c: In function 'main': mrbgems/mruby-bin-mruby/tools/mruby/mruby.c:213:13: warning: assignment discards 'const' qualifier from pointer target type cmdline = args.cmdline ? args.cmdline : "-"; ^ mrbgems/mruby-bin-debugger/tools/mrdb/cmdbreak.c: In function 'print_breakpoint': mrbgems/mruby-bin-debugger/tools/mrdb/cmdbreak.c:159:3: warning: initialization discards 'const' qualifier from pointer target type char* enable_letter[] = {BREAK_INFO_MSG_DISABLE, BREAK_INFO_MSG_ENABLE}; ^ mrbgems/mruby-bin-debugger/tools/mrdb/cmdbreak.c:159:3: warning: initialization discards 'const' qualifier from pointer target type
2015-04-18Enable -Wwrite-strings by default for GCCKouhei Sutou
2015-04-17Use builtins for overflow math if possiblefurunkel
2015-04-17Merge pull request #2765 from miura1729/original2Yukihiro "Matz" Matsumoto
Fix to avoid warning
2015-04-17Fix to avoid warningMiura Hideki
2015-04-17Merge pull request #2762 from miura1729/originalYukihiro "Matz" Matsumoto
Add test of negative arguments for Integer#%
2015-04-17Add test of negative arguments for Integer#%Miura Hideki
2015-04-03Merge pull request #2755 from Yuuhei-Okazaki/fix_maxbreakpoint_referenceYukihiro "Matz" Matsumoto
fix maximum value of the index when access breakpoints.
2015-04-03Merge pull request #2754 from cremno/remove-unnecessary-inttypes.h-inclusionYukihiro "Matz" Matsumoto
remove unnecessary <inttypes.h> inclusion
2015-04-02Merge pull request #2753 from cremno/vs2015-has-inline-kwYukihiro "Matz" Matsumoto
MSVC 2015 implements inline keyword
2015-03-31fix maximum value of the index when access breakpoints.Yuhei Okazaki
2015-03-30remove unnecessary <inttypes.h> inclusioncremno
The format specifier macros were needed to portably print a mrb_int, because mrb_raisef() originally called vsnprintf(). It doesn't anymore since 18b2683b97ae54d4f2f15c19076f33aa29eaf2b7 and the mrb_int format specifier macros are already gone.
2015-03-30MSVC 2015 implements inline keywordcremno
Apparently the C compiler of Visual Studio 2015 CTP6 finally implements inline as inline and not only as _inline and __inline.
2015-03-23Merge pull request #2750 from cremno/call-c11-timespec_getYukihiro "Matz" Matsumoto
mruby-time: call ISO C11's timespec_get() if available
2015-03-23Merge pull request #2751 from cremno/refactor-write_pool_blockYukihiro "Matz" Matsumoto
refactor write_pool_block()
2015-03-22refactor write_pool_block()cremno
No need to write the same assertion in each case (except the default one). Instead we can assert after the switch statement.
2015-03-22call C11's timespec_get()cremno
gettimeofday() is an obsolescent POSIX function which may be removed in a future version. POSIX recommends using clock_gettime() (also POSIX) instead, but it isn't available on OS X or Windows (at least with MSVC and older MinGW versions). Whereas timespec_get() is part of ISO C11 and mruby uses some small other C11 features too. It isn't universally available yet either, but it might be in the future. And Visual C++ 2015 implements it! Since mruby strives for ISO C and not POSIX compatibility, I think it's a reasonable choice. TIME_UTC is used instead of __STDC_VERSION__, because if TIME_UTC is defined, then most likely timespec_get() is too. This isn't true in case of __STDC_VERSION__ (see MSVC).
2015-03-21Merge branch 'master' of github.com:mruby/mrubyYukihiro "Matz" Matsumoto
2015-03-21execute ensure clause only when skipping call frame; fix #2726Yukihiro "Matz" Matsumoto
2015-03-20Merge pull request #2747 from jbreeden/vcpp_exceptionsYukihiro "Matz" Matsumoto
Fix exceptions for visualcpp
2015-03-18Fix exceptions for visualcppJared Breeden
2015-03-16Merge pull request #2746 from tarosay/tarosaYukihiro "Matz" Matsumoto
I modified the undefined frexpl in cygwin of make
2015-03-16I have added the #ifdef __CYGWIN32__ to modify the fmt_fp.cTarosa
2015-03-16I modified the undefined frexpl in cygwin of makeTarosa
2015-03-06Merge pull request #2740 from govm/stack_extend-in-mrb_f_sendYukihiro "Matz" Matsumoto
Fix #2739 stack_extend in mrb_f_send
2015-03-05stack_extend in mrb_f_sendGo Saito
mrb_f_send needs stack_extend like OP_SEND Signed-off-by: Go Saito <[email protected]>
2015-02-28Merge pull request #2738 from kou/use-ptrdiff-tYukihiro "Matz" Matsumoto
Use ptrdiff_t to suppress signedness warning
2015-02-28Use ptrdiff_t to suppress signedness warningKouhei Sutou
3df32161797aa9c6e9df259e8d8571b454cb2333 says so but there is no warning with GCC 4.9 on my Debian GNU/Linux environment.
2015-02-27Merge pull request #2736 from cremno/delete-prototypes-of-undefined-functionsYukihiro "Matz" Matsumoto
delete prototypes of undefined functions
2015-02-27fix MSVC initialization issue by a patch from @dyama; close #2734Yukihiro "Matz" Matsumoto
2015-02-27change size_t to ptrdiff_t to silence signedness warnings; #2732Yukihiro "Matz" Matsumoto
2015-02-26delete prototypes of undefined functionscremno
2015-02-26Merge pull request #2732 from kou/fix-a-crash-bug-on-raise-after-reallocYukihiro "Matz" Matsumoto
Fix a crash bug on raising after realloc
2015-02-25Fix a crash bug on raising after reallocKouhei Sutou
The following program reproduces this problem: #include <mruby.h> static mrb_value recursive(mrb_state *mrb, mrb_value self) { mrb_int n; mrb_get_args(mrb, "i", &n); if (n == 0) { mrb_raise(mrb, E_RUNTIME_ERROR, "XXX"); } else { mrb_funcall(mrb, self, "recursive", 1, mrb_fixnum_value(n - 1)); } return self; } int main(void) { mrb_state *mrb; mrb = mrb_open(); mrb_define_method(mrb, mrb->kernel_module, "recursive", recursive, MRB_ARGS_REQ(1)); mrb_funcall(mrb, mrb_top_self(mrb), "recursive", 1, mrb_fixnum_value(30)); mrb_close(mrb); } Recursive method call isn't required. It's just for expanding call info stack. If mrb_realloc() is called in cipush(), cibase address is changed. So, we shouldn't compare ci before mrb_realloc() and cibase after mrb_realloc(). It accesses unknown address and causes crash.
2015-02-24Merge pull request #2730 from kou/fix-no-expression-caseYukihiro "Matz" Matsumoto
Fix a bug that no expression case doesn't return valid value
2015-02-24Fix a bug that no expression case doesn't return valid valueKouhei Sutou
Here is a script that reproduces this problem: x = case when true; 1 end p x # => main # 1 is expected
2015-02-24Merge pull request #2729 from kou/fix-if-and-no-value-returned-caseYukihiro "Matz" Matsumoto
Fix a bug that if and no return value case can't return true clause value
2015-02-24Merge pull request #2728 from govm/fix-dereference-invalid-argvYukihiro "Matz" Matsumoto
fix pointer dereference after realloc
2015-02-24Fix a bug that if and no return value case can't return true clause valueKouhei Sutou
Here is a script that reproduce this problem: x = if true 1 else case 2 when 3 end 4 end p x # => nil # 1 is expected
2015-02-23fix pointer dereference after reallocGo Saito
In src/vm.c: mrb_funcall_with_block stack_extend may realloc mrb->c->stbase, if argv points on mruby's stack, then it points invalid address after stack_extend. e.g. src/class.c: mrb_instance_new This code: ```ruby class A def initialize(a0,a1,a2,a3,a4) a0.is_a? Array end end def f(a0,a1,a2,a3,a4) A.new(a0,a1,a2,a3,a4) f(a0,a1,a2,a3,a4) end f(0,1,2,3,4) ``` is expected to get exception ``` stack level too deep. (limit=(0x40000 - 128)) (SystemStackError) ``` but get segfault. Signed-off-by: Go Saito <[email protected]>
2015-02-19add a prototype declaration for mrb_fiber_resume(); ref #1269Yukihiro "Matz" Matsumoto
2015-02-19new API function mrb_fiber_resume(); ref #1269Yukihiro "Matz" Matsumoto