| Age | Commit message (Collapse) | Author |
|
|
|
|
|
[Bug #16498]
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/2824
|
|
ISO/IEC 9899:1999 section 6.5.7 states that "If the value of the right
operand is negative or is greater than or equal to the width of the
promoted left operand, the behavior is undefined". So we have to take
care of such situations.
This has not been a problem because contemporary C compilers are
extraordinary smart to compile the series of shifts into a single
ROTLQ/ROTRQ machine instruction. In contrast to what C says those
instructions have fully defined behaviour for all possible inputs.
Hence it has been quite difficult to observe the undefined-ness of such
situations. But undefined is undefined. We should not rely on such
target-specific assumptions.
We are fixing the situation by carefully avoiding shifts with out-of-
range values. At least GCC since 4.6.3 and Clang since 8.0 can issue
the exact same instructions like before the changeset.
Also in case of Intel processors, there supposedly be intrinsics named
_rotr/_rotl that do exactly what we need. They, in practice, are absent
on Clang before 9.x so we cannot blindly use. But we can at least save
MSVC.
See also:
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=57157
https://bugs.llvm.org/show_bug.cgi?id=17332
Notes:
Merged: https://github.com/ruby/ruby/pull/2824
|
|
Replaces `#ifdef _MSC_VER` with more accurate version checks. Also,
`defined(_WIN64) && defined(__AVX2__)` is redundant because there is no
such tihng like a 32bit AVX2 machine.
Notes:
Merged: https://github.com/ruby/ruby/pull/2824
|
|
Fixing typo revealed that _BitScanReverse is BSR, which behaves
differently than LZCNT. What we want here is LZCNT so we have to
emulate.
Notes:
Merged: https://github.com/ruby/ruby/pull/2824
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/2824
|
|
To prevent from leaking the seed data.
Notes:
Merged: https://github.com/ruby/ruby/pull/2826
|
|
Expanding less random data with MT is not needed when it
succeeded.
Notes:
Merged: https://github.com/ruby/ruby/pull/2826
|
|
|
|
|
|
Use __callee__ to display the called method.
Fixes [Bug #16469]
|
|
Same as 053f78e13988e9253d1f207bf5e23d9505112b32.
emscripten requires a prototype declaration of rb_gvar_readonly_setter
if it is refered as a function pointer.
|
|
|
|
Inside the block where `RB_METHOD_DEFINITION_DECL` family are
defined.
|
|
The role of this is a so-called "salt" but not "seed", rename to
get rid of confusion with other "seed" of PRNG.
Notes:
Merged: https://github.com/ruby/ruby/pull/2825
|
|
|
|
On macOS, GNU coreutils `id` is limited to NGROUPS_MAX groups,
because of the backward compatibility of getgroups(2).
|
|
`Binding#source_location` returns the `__FILE__` when created, and
may not be an absolute or real path. And in the `eval` context
with an explicit file name, `__dir__` also returns that name.
On the other hand, `__FILE__` in `require`d script file has been
expanded at searching the library.
|
|
|
|
[Bug #16488]
|
|
Fix invalid code to make it syntax highlighted; other small fixes.
|
|
|
|
Move existing example to the corresponding paragraph and
add an example for `string =~ regexp` vs. `regexp =~ string`;
avoid using the receiver's identifier from the call-seq
because it does not appear in rendered HTML docs;
mention deprecation of Object#=~; fix some markup and typos.
|
|
|
|
|
|
|
|
call
Notes:
Merged: https://github.com/ruby/ruby/pull/2821
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/2822
|
|
|
|
Try to fix infrequent error:
https://rubyci.org/logs/rubyci.s3.amazonaws.com/solaris10-sunc/ruby-master/log/20200108T010004Z.fail.html.gz
```
1) Error:
DRbTests::TestDRbSSLCore#test_02_basic_object:
RangeError: "348" is recycled object
(drbssl://localhost:58371) /export/home/users/chkbuild/cb-sunc/tmp/build/20200108T010004Z/ruby/lib/drb/drb.rb:366:in `_id2ref'
(drbssl://localhost:58371) /export/home/users/chkbuild/cb-sunc/tmp/build/20200108T010004Z/ruby/lib/drb/drb.rb:366:in `to_obj'
(drbssl://localhost:58371) /export/home/users/chkbuild/cb-sunc/tmp/build/20200108T010004Z/ruby/lib/drb/drb.rb:1537:in `to_obj'
(drbssl://localhost:58371) /export/home/users/chkbuild/cb-sunc/tmp/build/20200108T010004Z/ruby/lib/drb/drb.rb:1856:in `to_obj'
(drbssl://localhost:58371) /export/home/users/chkbuild/cb-sunc/tmp/build/20200108T010004Z/ruby/lib/drb/drb.rb:620:in `recv_request'
(drbssl://localhost:58371) /export/home/users/chkbuild/cb-sunc/tmp/build/20200108T010004Z/ruby/lib/drb/drb.rb:931:in `recv_request'
(drbssl://localhost:58371) /export/home/users/chkbuild/cb-sunc/tmp/build/20200108T010004Z/ruby/lib/drb/drb.rb:1665:in `init_with_client'
(drbssl://localhost:58371) /export/home/users/chkbuild/cb-sunc/tmp/build/20200108T010004Z/ruby/lib/drb/drb.rb:1677:in `setup_message'
(drbssl://localhost:58371) /export/home/users/chkbuild/cb-sunc/tmp/build/20200108T010004Z/ruby/lib/drb/drb.rb:1641:in `perform'
(drbssl://localhost:58371) /export/home/users/chkbuild/cb-sunc/tmp/build/20200108T010004Z/ruby/lib/drb/drb.rb:1734:in `block (2 levels) in main_loop'
(drbssl://localhost:58371) /export/home/users/chkbuild/cb-sunc/tmp/build/20200108T010004Z/ruby/lib/drb/drb.rb:1730:in `loop'
(drbssl://localhost:58371) /export/home/users/chkbuild/cb-sunc/tmp/build/20200108T010004Z/ruby/lib/drb/drb.rb:1730:in `block in main_loop'
/export/home/users/chkbuild/cb-sunc/tmp/build/20200108T010004Z/ruby/test/drb/drbtest.rb:163:in `test_02_basic_object'
```
|
|
This fixes following error that sometimes happens once in a few times
on Travis s390x environment.
```
$ tool/travis_retry.sh sudo -E apt-add-repository -y "ppa:ubuntu-toolchain-r/test"
+ sudo -E apt-add-repository -y ppa:ubuntu-toolchain-r/test
Error: retrieving gpg key timed out.
```
|
|
If the instance variable table hasn't been "expanded", allocate the
maximum size of the ivar table. This operates under the assumption that
most objects will eventually expand their ivar array to the maximum
width anyway, so we may as well avoid realloc calls.
Notes:
Merged: https://github.com/ruby/ruby/pull/2820
|
|
|
|
```
.../ruby/test/ruby/test_keyword.rb:3509: warning: assigned but unused variable - bug8993
.../ruby/test/ruby/test_object.rb:83: warning: assigned but unused variable - f
.../ruby/test/ruby/test_object.rb:95: warning: method redefined; discarding old initialize_clone
.../ruby/test/ruby/test_object.rb:84: warning: previous definition of initialize_clone was here
```
|
|
|
|
mame-san said it's weird
|
|
Since 8c9450e7b875db846b19cc631af0d7fee66db5c6, we increased the chance
to run GitHub Actions on a fork, as we usually use a topic branch
instead of master when filing a pull request.
This patch makes it possible to reuse the same GitHub Actions config on
a fork repository.
|
|
instead of unnecessarily defining env vars
|
|
https://github.com/flori/json/commit/2f3f44c180
|
|
https://github.com/flori/json/commit/3845491d92
|
|
https://github.com/flori/json/commit/4ede0a7d19
|
|
This text used to be true in older versions of json, but has not
been true for a number of years (since json version 2 I think).
https://github.com/flori/json/commit/373b633f38
|
|
Check RUBY_ON_BUG env val also on rb_assert_failure().
|
|
script_compiled event for TracePoint should not be invoked on
compile error (SyntaxError) because it is not "compiled".
[Bug #16459]
|
|
|
|
def foo
''.upca[TAB]
This will be completed to be:
def foo
''.upcase
The indent was gone. This commit fixes the bug.
|
|
If C-d is pressed before IRB is ready, IRB crashes because EOFError occurs.
|
|
In https://github.com/ruby/ruby/commit/9be3295d53b6fd9f8a3ad8157aa0655b1976d8ac,
OpenStruct's documentation stopped to be rendered by RDoc
(there should be no additional code between documentation
comment and documented class). Fixing this.
Notes:
Merged: https://github.com/ruby/ruby/pull/2810
|