aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* * include/ruby/intern.h (rb_big_odd_p, rb_big_even_p): move tomrkn2016-03-193-2/+9
| | | | | | | | internal.h so that they are exported only for ruby itself. * internal.h (rb_big_odd_p, rb_big_even_p): ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54196 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* test/unit.rb: defer failures in verbose modenobu2016-03-192-0/+7
| | | | | | | | * test/lib/test/unit.rb (Test::Unit::StatusLine#failed): defer failed messages until the end in verbose mode, to get rid of interleaving failures with progress messages. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54195 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* fix r54193nobu2016-03-193-1/+12
| | | | | | | * numeric.c (fix_cmp): invert the result as the comarison is inverted. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54194 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * numeric.c (fix_cmp): use rb_big_cmp if x is Fixnum and y is Bignum.naruse2016-03-191-1/+1
| | | | | | rb_big_cmp handles such case smartly with big_norm. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54193 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * numeric.c (int_to_f): raise NotImplementedError when a receivermrkn2016-03-193-2/+10
| | | | | | | | | class is unknown. * test/-ext-/integer/test_my_integer.rb (test_my_integer_to_f): modify a test for the above change. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54192 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* ChangeLog: fix filename [ci skip]mrkn2016-03-191-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54191 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * bignum.c (Bignum#<=>): remove it because they are unified withmrkn2016-03-194-14/+63
| | | | | | | | | | | | | | Integer#<=>. * numeric.c (Integer#<=>, Fixnum#<=>): move <=> method from Fixnum to Integer. * numeric.c (int_cmp): add this method for Integer#<=>. * test/-ext-/integer/test_my_integer.rb (test_my_integer_cmp): add a test to examine Integer#<=> for unknown subclasses. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54190 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* SyntaxError message at iseq compilenobu2016-03-1910-73/+103
| | | | | | | | | | | | * iseq.c (rb_iseq_compile_with_option): make the parser in mild error. * load.c (rb_load_internal0): ditto. * parse.y (yycompile0): return the error message within the error to be raised. [Feature #11951] * parse.y (parser_compile_error): accumulate error messages in the error_buffer. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54189 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* test_iseq.rb: shortennobu2016-03-191-7/+7
| | | | | | | * test/ruby/test_iseq.rb (TestISeq): use the utility method to get rid of warnings and the alias to shorten. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54188 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * time.c (LOCALTIME): organize #ifdefs.naruse2016-03-182-36/+28
| | | | | | * time.c (GMTIME): define only ifndef HAVE_STRUCT_TM_TM_GMTOFF. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54187 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * configure.in (rb_cv_member_struct_tm_tm_gmtoff): For Linux (glibc)naruse2016-03-183-1/+14
| | | | | | | | define _BSD_SOURCE for time.h to define struct tm.tm_gmtoff. * time.c: define _BSD_SOURCE at the top. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54186 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* parse.y: mark debug_buffernobu2016-03-181-0/+1
| | | | | | * parse.y (parser_mark): mark debug_buffer. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54185 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * test/-ext-/time/test_new.rb (test_timespec_new): change a gmtoffodaira2016-03-182-3/+11
| | | | | | | test to a better one that does not depend on whether the current time is in summer time or not. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54184 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* ChangeLog: fix typo [ci skip]nobu2016-03-181-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54183 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * 2016-03-19svn2016-03-181-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54182 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * bignum.c (rb_big_to_f, Bignum#to_f): removed them because they aremrkn2016-03-183-17/+12
| | | | | | | | unified with int_to_f and Integer#to_f. * numeric.c (int_to_f): treat Bignum values directly. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54181 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * properties.svn2016-03-180-0/+0
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54180 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * numeric.c (int_to_f, fix_to_f): rename fix_to_f to int_to_f, and addmrkn2016-03-186-5/+89
| | | | | | | | | | | | | | | | | | | treatment for subclasses which don't have definitions of to_f method. * numeric.c (Integer#to_f, Fixnum#to_f): move to_f method from Fixnum to Integer. * ext/-test-/integer/my_integer.rb: define helper class for testing to_f method for a subclass of Integer. * ext/-test-/integer/extconf.rb: ditto. * ext/-test-/integer/init.c: ditto. * test/-ext-/integer/test_my_integer.rb: examine to_f method for a subclass of Integer. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54179 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * include/ruby/intern.h (rb_big_hash): Move to internal.h.mrkn2016-03-183-1/+7
| | | | | | * internal.h: ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54178 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * bignum.c (Bignum#eql?): remove its definition because it is unifiedmrkn2016-03-183-13/+14
| | | | | | | | with Numeric#eql?. * numeric.c (num_eql): treat Bignum values directly. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54177 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * bignum.c (rb_big_to_s, Bignum#to_s): remove its definition becausemrkn2016-03-183-32/+16
| | | | | | | | it is unified with Integer#to_s. * numeric.c (int_to_s): treat Bignum values directly. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54176 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * numeric.c (int_to_s): Move from flo_to_s.mrkn2016-03-182-6/+11
| | | | | | * numeric.c (Integer#to_s): Move from Fixnum#to_s. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54175 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* test_file_exhaustive.rb: strict check test_dirnamenobu2016-03-181-1/+1
| | | | | | | * test/ruby/test_file_exhaustive.rb (test_dirname): assert same as the parent directory, not ascendant directories. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54174 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* gc.c: fix r54115nobu2016-03-181-1/+1
| | | | | | * gc.c (gc_page_sweep): use the argument objspace. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54173 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* parse.y: Fix for nth_ref_maxnobu2016-03-182-1/+7
| | | | | | | | * parse.y (parse_numvar): NTH_REF must be less than a half of INT_MAX, as it is left-shifted to be ORed with back-ref flag. [ruby-core:74444] [Bug#12192] [Fix GH-1296] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54172 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* file.c: simplify rb_file_s_splitnobu2016-03-181-1/+1
| | | | | | | * file.c (rb_file_s_split): use rb_file_dirname instead of rb_file_s_dirname with unused Qnil. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54171 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* gc.c: fix commit miss r54145nobu2016-03-182-1/+5
| | | | | | * gc.c (tick): fix missing close parenthesis. [Fix GH-1291] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54170 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/date/date_core.c (datetime_to_time): preserve timezone infosonots2016-03-183-9/+15
| | | | | | [Bug #12189] [Fix GH-1295] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54169 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * bignum.c (rb_big_hash): make it public function to be available inmrkn2016-03-184-11/+18
| | | | | | | | | | | | | other source files, and remove documentation comment for Bignum#hash. * bignum.c (Bignum#hash): remove its definition because it is unified with Object#hash. * include/ruby/intern.h (rb_big_hash): add a prototype declaration. * hash.c (any_hash): treat Bignum values directly. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54168 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * lib/time.rb (parse, strptime): Fix Time.parse/strptime does notsonots2016-03-173-7/+51
| | | | | | | have compatibility with DateTime.parse/strptime in terms of parsing timezone [Bug #12190] [Fix GH-1297] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54167 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * numeric.c (fix_zero_p, fix_even_p, fix_odd_p): remove needlessmrkn2016-03-172-49/+5
| | | | | | functions. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54166 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * numeric.c (int_even_p): treat Fixnum and Bignum values directly.mrkn2016-03-172-2/+14
| | | | | | I forgot include this commit in the previous one. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54165 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * bignum.c (Bignum#even?, Bignum#odd?): remove definitionsmrkn2016-03-174-27/+33
| | | | | | | | | | | | | | | | because they are unified with Integer#even? and Integer#odd?. * numeric.c (Fixnum#zero?, Fixnum#even?, Fixnum#odd?): remove definitions because they are unified with Numeric#zero?, Integer#even?, and Integer#odd?. * numeric.c (num_zero_p, int_even_p, int_odd_p): treat Fixnum and Bignum values directly. * test/ruby/test_integer.rb (test_odd_p_even_p): remove meaningless test case. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54164 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * bignum.c (rb_big_even_p, rb_big_odd_p): make them public functionsmrkn2016-03-173-2/+12
| | | | | | | | | to be available in other source files. * include/ruby/intern.h (rb_big_even_p, rb_big_odd_p): add prototype declarations. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54163 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * enum.c (ary_inject_op): Implement the specialized code for sum ofakr2016-03-173-27/+54
| | | | | | | | float numbers. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54162 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * 2016-03-18svn2016-03-171-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54161 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * remove trailing spaces.svn2016-03-171-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54160 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * numeric.c (num_step): use rb_equal for zero check. rb_num_coerce_cmpmame2016-03-172-1/+6
| | | | | | created an object which caused extra overhead. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54159 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* ruby.h: remove RB_GC_GUARD_PTRnobu2016-03-172-12/+9
| | | | | | | * include/ruby/ruby.h (RB_GC_GUARD_PTR): remove intermediate macro, and expand for each RB_GC_GUARD. [Fix GH-1293] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54158 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* compile.c: strict conditionnobu2016-03-171-3/+4
| | | | | | | * compile.c (iseq_specialized_instruction): specialize only concatenated newarray and send, no labels and no adjusts. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54157 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* compile.c: move newarray specializationnobu2016-03-172-20/+27
| | | | | | | * compile.c (iseq_specialized_instruction): move specialization for opt_newarray_max/min from translation phase. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54156 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * array.c, enum.c: make rdoc format consistent.mame2016-03-173-11/+15
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54155 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * NEWS: add Array#max, #min, and the optimization. [Feature #12172]mame2016-03-172-1/+19
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54154 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * compile.c (NODE_CALL): add optimization shortcut for Array#max/min.mame2016-03-176-0/+102
| | | | | | | | | Now `[x, y].max` is optimized so that a temporal array object is not created in some condition. * insns.def (opt_newarray_max, opt_newarray_min): added. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54153 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * array.c (rb_ary_max, rb_ary_min): implement Array#max and min withmame2016-03-174-9/+29
| | | | | | | | | | arguments. replace super call with rb_nmin_run. * enum.c (nmin_run): exported (as rb_nmin_run). * internal.h: added a prototype for rb_nmin_run. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54152 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * array.c (rb_ary_max, rb_ary_min): implement a block by itself insteadmame2016-03-172-12/+37
| | | | | | of delegating Enumerable#max/min. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54151 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * array.c (rb_ary_max, rb_ary_min): Array#max and Array#min added.mame2016-03-176-23/+161
| | | | | | | | | | | | | | | [Feature #12172] * internal.h (OPTIMIZED_CMP): moved from enum.c so that array.c can use it. * test/ruby/test_array.rb (test_max, test_min): tests for Array#max and Array#min. * test/ruby/test_enum.rb (test_max, test_min): revised a bit to test Enumerable#max and #min explicitly. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54150 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * internal.c: struct cmp_opt_data added for refactoring out a datamame2016-03-174-27/+37
| | | | | | | | | | structure for CMP_OPTIMIZABLE * array.c (struct ary_sort_data): use struct cmp_opt_data. * enum.c (struct min_t, max_t, min_max_t): use struct cmp_opt_data. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54149 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * enum.c (ary_inject_op): Extracted from enum_inject.akr2016-03-172-57/+71
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54148 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * enum.c (enum_inject): Implement the specialized code for sum ofakr2016-03-175-10/+90
| | | | | | | | | | | | integers including Bignums. * internal.h (rb_fix_plus): Declared to be usable from enum_inject. * numeric.c (rb_fix_plus): Defined. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54147 b2dd03c8-39d4-4d8f-98ff-823fe69b080e