| Age | Commit message (Collapse) | Author |
|
icc warns side effects for RUBY3_ASSUME like this:
> ./include/ruby/3/value_type.h(202): warning #2261: __assume expression with side effects discarded
> RUBY3_ASSUME(RB_FLONUM_P(obj));
> ^
Which is a false positive (RB_FLONUM_P has no side effect). It seems
there is no way for us to tell icc that a functin is safe inside of
__assume. Just suppress the warning instead.
Notes:
Merged: https://github.com/ruby/ruby/pull/3011
|
|
To this date there is no way for Oracle developer Studio to suppress
warnings about unreachable codes (12.6 manual says it implemented
__builtin_unreachable "as a no-op to C++. It might be added to C.")
There is no way but globally kill the warning.
Notes:
Merged: https://github.com/ruby/ruby/pull/3011
|
|
Every time a pointer to/from VALUE conversion happens, these two
warnings are issued:
- warning #1684: conversion from pointer to same-sized integral type (potential portability problem)
- warning #2312: pointer cast involving 64-bit pointed-to type
Thank you, but we are well aware of the "potential portability problem".
Let us ignore them all.
Notes:
Merged: https://github.com/ruby/ruby/pull/3011
|
|
Non-gcc compilers tend to have this intrinsic these days (e.g. icc).
Better check it regardless of $GCC.
Notes:
Merged: https://github.com/ruby/ruby/pull/3011
|
|
This macro has to be truthy, otherwise the `+0` trick above evalues
RUBY3_HAS_BUILTIN(__builtin_unreachable) to be always false.
Notes:
Merged: https://github.com/ruby/ruby/pull/3011
|
|
Namely icc defines __GNUC__, but doesn't have -Wdeprecated-declarations
Notes:
Merged: https://github.com/ruby/ruby/pull/3011
|
|
[Feature #15921]
Notes:
Merged: https://github.com/ruby/ruby/pull/3012
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/3010
|
|
Without this patch, 20k files are opened (openat syscall) because
of duplicate includes. This patch reduced it to 3k and build time
was reduced compile time of range.o from 15sec -> 3sec on my machine.
[Bug #16772]
Notes:
Merged: https://github.com/ruby/ruby/pull/3010
|
|
Only writing the inspected result and a newline is
uninterruptible.
|
|
|
|
|
|
|
|
|
|
compiler"
This reverts commit d2bb2e066b5a914283dd3ea473fc1762183af013.
It didn't work:
https://rubyci.org/logs/rubyci.s3.amazonaws.com/icc-x64/ruby-master/log/20200409T050004Z.log.html.gz#end
```
In file included from ../../.././include/ruby/3/core.h(32),
from ../../.././include/ruby/ruby.h(28),
from ../../.././include/ruby.h(33),
from init.c(1):
../../.././include/ruby/3/core/rtypeddata.h(164): warning #967: conversion from "int" to "const struct rb_data_type_struct *"; sizes do not match
RUBY3_UNREACHABLE_RETURN(0);
```
|
|
rb_uninterruptible() disables any interrupts using handle_interrupt
feature (This function is used by `p`).
After this function, pending interrupts should be checked correctly,
however there is no chance to setup interrupt flag of working
threads, it means that nobody checks pending interrupts.
For example, it ignores terminate signal delivered at the end
of main thread and program can't stop.
This patch set interrupt flag if there are pending interrupts.
|
|
NULL in C++ is esoteric
|
|
|
|
`pw_expire` is declared as `time_t`, but actually not, and
`getpwuid` returns a garbage there.
Also the declaration of `struct passwd` in pwd.h and the manual
page contradict each other, interal `pw_fields` is mentioned only
in the latter. Maybe there is a confusion.
|
|
Coverity Scan says "Using uninitialized value c.fixnum when calling
__builtin_mul_overflow_p."
|
|
b cannot be <= 0 here. Found by Coverity Scan
|
|
It fails to compile ext/-test-/cxxanyargs/cxxanyargs.cpp.
Need work to support it. Contribution is welcome.
|
|
I'm unsure why, but it fails on icc.
https://rubyci.org/logs/rubyci.s3.amazonaws.com/icc-x64/ruby-master/log/20200408T220004Z.log.html.gz
```
In file included from ../../.././include/ruby/3/core.h(32),
from ../../.././include/ruby/ruby.h(28),
from cxxanyargs.cpp(1):
../../.././include/ruby/3/core/rtypeddata.h(163): error: return value type does not match the function type
RUBY3_UNREACHABLE_RETURN(NULL);
```
|
|
|
|
I don't find how to suppress a false positive "unreachable" warning of
the Sun compiler:
```
"./include/ruby/3/core/rtypeddata.h", line 163: warning: statement not
reached
"./include/ruby/3/memory.h", line 256: warning: statement not reached
```
This warnings make mkmf test fail:
https://rubyci.org/logs/rubyci.s3.amazonaws.com/solaris10-sunc/ruby-master/log/20200408T170004Z.fail.html.gz
```
1) Failure:
TestMkmf::TestConvertible#test_typeof_builtin
[/export/home/users/chkbuild/cb-sunc/tmp/build/20200408T170004Z/ruby/test/mkmf/test_convertible.rb:9]:
convertible_int: checking for convertible type of short...
-------------------- short
--------------------
convertible_int: checking for convertible type of int...
-------------------- int
--------------------
convertible_int: checking for convertible type of long...
-------------------- long
--------------------
convertible_int: checking for convertible type of signed short...
-------------------- failed
...
"cc -I.
-I/export/home/users/chkbuild/cb-sunc/tmp/build/20200408T170004Z/ruby/.ext/include/sparc-solaris2.10
-I/export/home/users/chkbuild/cb-sunc/tmp/build/20200408T170004Z/ruby/include
-I./test -I/opt/csw/include -D_XOPEN_SOURCE=600 -DFFI_NO_RAW_API -g
-c conftest.c"
"/export/home/users/chkbuild/cb-sunc/tmp/build/20200408T170004Z/ruby/include/ruby/3/core/rtypeddata.h",
line 163: warning: statement not reached
"/export/home/users/chkbuild/cb-sunc/tmp/build/20200408T170004Z/ruby/include/ruby/3/memory.h",
line 256: warning: statement not reached
checked program was:
/* begin */
1: #include "ruby.h"
2:
3: typedef signed short rbcv_typedef_;
4:
5: extern rbcv_typedef_ foo();
6: extern short foo();
/* end */
```
|
|
|
|
RUBY3_CAST is a macro to suppress g++/clang++ warnings about C-style
casts. Though Ruby core don't have to bother C++ situations, extension
libraries can benefit from this.
|
|
It turned out that compilation errors in icc were due to their having
broken __has_builtin. Let's just skip such situations.
|
|
https://github.com/ruby/weakref/commit/a67073856e
|
|
|
|
|
|
Trying to fix icc breakage:
https://rubyci.org/logs/rubyci.s3.amazonaws.com/icc-x64/ruby-master/log/20200408T050004Z.fail.html.gz
It seems the macro had problems when a builtin does not exist for the
target compiler. Force evaluete to 0 then, by adding 0 to the
expression.
|
|
|
|
https://github.com/ruby/net-ftp/commit/a56ba121ee
|
|
https://github.com/ruby/net-ftp/commit/bed4bc31db
|
|
|
|
|
|
* prime gem didn't use `version.rb` file.
* Removed development_dependency because they are handled by Gemfile.
|
|
* It couldn't use `English` because `english` is already reserved.
* Bump version to 0.7.0 because versions < 0.7 are reserved.
|
|
Split ruby.h
Notes:
Merged-By: shyouhei <shyouhei@ruby-lang.org>
|
|
|
|
|
|
|
|
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/3009
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/3009
|
|
|
|
|
|
|
|
Fixed up a58bbd6a512d95ca010d8bebae4fe590400c1413.
|