summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2019-10-12Import CSV 3.1.2 (#2547)Sutou Kouhei
Notes: Merged-By: kou <kou@clear-code.com>
2019-10-12Use `warn` with `uplevel:` instead of `caller`Kazuhiro NISHIYAMA
2019-10-12* 2019-10-12 [ci skip]git
2019-10-12Import REXML 3.2.3 (#2548)Sutou Kouhei
Notes: Merged-By: kou <kou@clear-code.com>
2019-10-11io.c (NUM2IOCTLREQ): Accept a value more than INT_MAXYusuke Endoh
ioctl accepts int as request arguments on some platforms, but some requests are more than INT_MAX, e.g., RNDGETENTCNT(0x80045200). Passing (0x80045200 | (-1 << 32)) may work around the issue, but it may not work on a platform where ioctl accepts unsigned long. So this change uses NUM2LONG and then casts it to int.
2019-10-11test/ruby/test_rubyoptions.rb (test_encoding): skipped on AndroidYusuke Endoh
On Android, nl_langinfo() always returns UTF-8 even when LANG is C.
2019-10-11test/test_syslog.rb (test_log): skipped on AndroidYusuke Endoh
On Android 28, LOG_PERROR is defined, but not implemented yet. This change skips Syslog#log explicitly.
2019-10-11Use `bind_call` instead of `bind` and `call`Kazuhiro NISHIYAMA
2019-10-11win32.c: Remove unused calls to StartSockets (#2312)Gabriel Nagy
NtSocketsInitialized behavior changed in e33b1690, requiring a call to rb_w32_sysinit for starting Windows Sockets. This commit removes NtSocketsInitialized entirely to avoid confusion. Signed-off-by: Gabriel Nagy <gabriel.nagy@puppet.com>
2019-10-11Module#define_method: Add UnboundMethod to expected classesksss
Notes: Merged: https://github.com/ruby/ruby/pull/1465
2019-10-11Reduce the minimum string buffer size from 127 to 63 bytesLourens Naudé
Notes: Merged: https://github.com/ruby/ruby/pull/2151
2019-10-11Right size the numtable in insn_make_insn_table to VM_INSTRUCTION_SIZELourens Naudé
Notes: Merged: https://github.com/ruby/ruby/pull/2447
2019-10-11set real path to __FILE__ and __dir__ in Binding#irbtakkanm
When reading Binding#irb, the file of the calling source is reflected in __FILE__ and __dir__. Notes: Merged: https://github.com/ruby/ruby/pull/1896
2019-10-10Document the difference between expressions and statements [ci skip]Jeremy Evans
In the grammar, all expressions are statements, but not all statements are expressions. Some parts of the grammar accept expressions and not other types of statements, which causes similar looking code to parse differently due to operator precedence. Mostly from Dan0042 (Daniel DeLorme). Fixes [Bug #16092]
2019-10-11* 2019-10-11 [ci skip]git
2019-10-10Support delegates for BasicObjectJeremy Evans
For BasicObject, bind the Kernel respond_to? instance method to the object and call it instead of calling the method directly. Also, use bind_call(recv, ...) for better performance. Fixes [Bug #16127] Notes: Merged: https://github.com/ruby/ruby/pull/2546
2019-10-10mjit_worker.c: Add `-lm` to the C compiler in MJIT on AndroidYusuke Endoh
To avoid: cannot locate symbol "modf" referenced by .../_ruby_mjit_XXX.so"
2019-10-10ext/syslog/extconf.rb: add -llog for AndroidYusuke Endoh
Otherwise, requiring syslog results in: cannot locate symbol "__android_log_print" referenced by "syslog.so"
2019-10-10test/ruby/test_file_exhaustive.rb: check the owner of the root directoryYusuke Endoh
The root directory may be owned by the current user, for example, in chroot environment.
2019-10-10Skip very time consuming test [Bug #16196]Nobuyoshi Nakada
2019-10-10Prefer rb_gc_register_mark_objectNobuyoshi Nakada
* ext/openssl/ossl_asn1.c (Init_ossl_asn1): prefer `rb_gc_register_mark_object`, which is better for constant objects, over `rb_gc_register_address` for global/static variables which can be re-assigned at runtime. [Bug #16196]
2019-10-10Slimed down test runtime by stressing openssl.so only [Bug #16196]Nobuyoshi Nakada
2019-10-10forgot to delete unused #incude line卜部昌平
2019-10-10guard rb_fatal against non-GVL call卜部昌平
Suggested by ko1. rb_fatal requires GVL so just in case one lacks, print that information and let the process die. As commented, we cannot print the given messages on such situations.
2019-10-10make rb_raise a GVL-only function again卜部昌平
Requested by ko1 that ability of calling rb_raise from anywhere outside of GVL is "too much". Give up that part, move the GVL aquisition routine into gc.c, and make our new gc_raise().
2019-10-10add "[FATAL]" marker on abort卜部昌平
Indicate that the situation is fatal.
2019-10-10Remove unreachable step level `[ci skip]`Kazuhiro NISHIYAMA
2019-10-10Guard static variable firstNobuyoshi Nakada
* ext/openssl/ossl_asn1.c (Init_ossl_asn1): register the static variable to grab an internal object, before creating the object. otherwise the just-created object could get collected during the global variable list allocation. [Bug #16196]
2019-10-10[rubygems/rubygems] Do not compare with unreliable Gem::Specification::TODAYNobuyoshi Nakada
https://gist.github.com/ko1/a88834d744a0682711dab53fd9015a04#file-brlog-trunk-nopara-20191005-235153-L393-L472 https://github.com/rubygems/rubygems/commit/707408d8e7
2019-10-10[rubygems/rubygems] Restrict possible date rangeNobuyoshi Nakada
https://github.com/rubygems/rubygems/commit/1bd77f53df
2019-10-10[rubygems/rubygems] Optimize Gem::Package::TarReader#eachJean Boussier
https://github.com/rubygems/rubygems/commit/1de8f39ac4
2019-10-10Now error.o needs thread.hNobuyoshi Nakada
2019-10-10Fixed numbered parameter checkNobuyoshi Nakada
* parse.y (struct local_vars): moved numbered parameter NODEs for nesting check to separate per local variable scopes, as numbered parameters should belong to local variable scopes. [Bug #16248]
2019-10-10negative_size_allocation_error never returnsNobuyoshi Nakada
2019-10-10allow rb_raise from outside of GVL卜部昌平
Now that allocation routines like ALLOC_N() can raise exceptions on integer overflows. This is a problem when the calling thread has no GVL. Memory allocations has been allowed without it, but can still fail. Let's just relax rb_raise's restriction so that we can call it with or without GVL. With GVL the behaviour is unchanged. With no GVL, wait for it. Also, integer overflows can theoretically occur during GC when we expand the object space. We cannot do so much then. Call rb_memerror and let that routine abort the process.
2019-10-10lhs of pattern matching expression of should have a valueNobuyoshi Nakada
2019-10-10extracted declare_underNobuyoshi Nakada
2019-10-10Simplify rb_define_module_idAlan Wu
Notes: Merged: https://github.com/ruby/ruby/pull/2544
2019-10-10* 2019-10-10 [ci skip]git
2019-10-10fix memory corruption in old GCC卜部昌平
This typo introduced memory corruption when __builtin_add_overflow is not available but uint128_t is. GCC before 5 are one of such situatins. See also https://rubyci.org/logs/rubyci.s3.amazonaws.com/opensuseleap/ruby-master/log/20191009T120004Z.log.html.gz
2019-10-09Prefer st_is_member over st_lookup with 0Ben Woosley
The st_is_member DEFINE has simpler semantics, for more readable code. Notes: Merged: https://github.com/ruby/ruby/pull/1622
2019-10-09Share ruby_sighandler_t definitionNobuyoshi Nakada
2019-10-09signal.c: save the original sighandlers for fatal signalsYusuke Endoh
On Android, a signal handler that is not SIG_DFL is set by default for SIGSEGV. Ruby's install_sighandler inserts Ruby's handler only when the signal has no handler, so it does not insert Ruby's SEGV report handler, which caused some test failures. This changeset forces to install Ruby's handler for some fatal signals (sigbus, sigsegv, and sigill). They keep the original handlers, and call them when the interpreter receives the signals.
2019-10-09error.c (rb_bug_for_fatal_signal): renamed from rb_bug_contextYusuke Endoh
Just refactoring. The name "rb_bug_context" is completely unclear for me. (Can you see that "context" means "machine register context"?) The context is available only when a fatal signal (sigbus, sigsegv, or sigill) is received; in fact, the function is used only for fatal signals. So, I think the name should be changed.
2019-10-09signal.c (ruby_abort): move the definition for refactoringYusuke Endoh
The three functions for fatal signals, sigbus, sigsegv, and sigill, are a family. The definition of ruby_abort had interrupted them for no reason. This change just moves the definition after the family.
2019-10-09Check '[ci skip]' at job levelKazuhiro NISHIYAMA
2019-10-09vm_eval.c (rb_adjust_argv_kw_splat): avoid memcpy with zero lengthYusuke Endoh
A method call is often with `argc = 1` and `argv = &v` where v is a VALUE, and some functions shift the arguments by `argc-1` and `argv+1` (for example, rb_sym_proc_call). I'm unsure whether it is safe or not to pass a pointer `argv+1` to memcpy with zero length, but Coverity Scan complains it. So this attempts to suppress the warning by explicit check of the length.
2019-10-09Remove uselsess shebangPavel Valena
as the file is not executable anyway. Notes: Merged: https://github.com/ruby/ruby/pull/2483
2019-10-09Update required_ruby_version to 2.4.0aycabta
2019-10-09Improve performance of Array#sum with float elements (#1555)Watson
The declaration of local variable in loop, it will initialize local variable for each run of the loop with clang generated code. So, it shouldn't declare the local variable in heavy loop. Array#sum with float elements will be faster around 30%. * Before user system total real 3.320000 0.010000 3.330000 ( 3.336088) * After user system total real 2.590000 0.010000 2.600000 ( 2.602399) * Test code require 'benchmark' Benchmark.bmbm do |x| ary = [] 10000.times { ary << Random.rand } x.report do 50000.times do ary.sum end end end