[#98645] [Ruby master Misc#16933] DevelopersMeeting20200618Japan — mame@...

Issue #16933 has been reported by mame (Yusuke Endoh).

14 messages 2020/06/04

[#98663] [Ruby master Bug#16936] `make check TESTS="-n !/Foo#method/"` not skipping the test case — jaruga@...

Issue #16936 has been reported by jaruga (Jun Aruga).

13 messages 2020/06/05

[#98772] [Ruby master Bug#16959] Weakmap has specs and third-party usage despite being a private API — headius@...

Issue #16959 has been reported by headius (Charles Nutter).

13 messages 2020/06/12

[#98826] [Ruby master Feature#16963] Remove English.rb from Ruby 2.8/3.0 — hsbt@...

Issue #16963 has been reported by hsbt (Hiroshi SHIBATA).

9 messages 2020/06/16

[#98920] [Ruby master Bug#16978] Ruby should not use realpath for __FILE__ — v.ondruch@...

Issue #16978 has been reported by vo.x (Vit Ondruch).

24 messages 2020/06/23

[#98947] [Ruby master Feature#16986] Anonymous Struct literal — ko1@...

Issue #16986 has been reported by ko1 (Koichi Sasada).

66 messages 2020/06/26

[#98964] [Ruby master Feature#16989] Sets: need ♥️ — marcandre-ruby-core@...

Issue #16989 has been reported by marcandre (Marc-Andre Lafortune).

33 messages 2020/06/26

[#98965] [Ruby master Feature#16990] Sets: operators compatibility with Array — marcandre-ruby-core@...

Issue #16990 has been reported by marcandre (Marc-Andre Lafortune).

11 messages 2020/06/26

[#98968] [Ruby master Feature#16993] Sets: from hash keys using Hash#key_set — marcandre-ruby-core@...

Issue #16993 has been reported by marcandre (Marc-Andre Lafortune).

10 messages 2020/06/26

[#98997] [Ruby master Feature#17000] 2.7.2 turns off deprecation warnings by deafult — mame@...

Issue #17000 has been reported by mame (Yusuke Endoh).

16 messages 2020/06/30

[ruby-core:98612] [Ruby master Bug#16930] Excessive deprecation warnings for c++ compile units

From: mame@...
Date: 2020-06-01 17:39:34 UTC
List: ruby-core #98612
Issue #16930 has been updated by mame (Yusuke Endoh).

Status changed from Open to Third Party's Issue

According to @shyouhei, it is apparently a bug of GCC 10.  He has already reported: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95302.  They are just warnings, so please ignore.

----------------------------------------
Bug #16930: Excessive deprecation warnings for c++ compile units
https://bugs.ruby-lang.org/issues/16930#change-85934

* Author: anatolik (Anatol Pomozov)
* Status: Third Party's Issue
* Priority: Normal
* ruby -v: 2.7.1
* Backport: 2.5: UNKNOWN, 2.6: UNKNOWN, 2.7: UNKNOWN
----------------------------------------
I am using Arch Linux with the latest Ruby 2.7.1.

I am compiling a simple C++ program like this

``` cpp
#include <ruby.h>

int main() {
    return 0;
}
```

And then compile as `g++ -c main.cxx -I/usr/include/ruby-2.7.0 -I/usr/include/ruby-2.7.0/x86_64-linux`.

I see a lot of warnings are printed to the user:

```
/usr/include/ruby-2.7.0/ruby/backward/cxxanyargs.hpp:222:1: note: declared here
  222 | rb_rescue2(type *q, VALUE w, type *e, VALUE r, ...)
      | ^~~~~~~~~~
/usr/include/ruby-2.7.0/ruby/backward/cxxanyargs.hpp: In function ‘VALUE ruby::backward::cxxanyargs::rb_ensure(VALUE (*)(...), VALUE, VALUE (*)(...), VALUE)’:
/usr/include/ruby-2.7.0/ruby/backward/cxxanyargs.hpp:251:14: warning: ‘VALUE ruby::backward::cxxanyargs::rb_ensure(VALUE (*)(...), VALUE, VALUE (*)(...), VALUE)’ is deprecated: Use of ANYARGS in this function is deprecated [-Wdeprecated-declarations]
  251 |     func1_t *t = reinterpret_cast<func1_t*>(q);
      |              ^
/usr/include/ruby-2.7.0/ruby/backward/cxxanyargs.hpp:248:1: note: declared here
  248 | rb_ensure(type *q, VALUE w, type *e, VALUE r)
      | ^~~~~~~~~
/usr/include/ruby-2.7.0/ruby/backward/cxxanyargs.hpp:251:42: warning: ‘VALUE ruby::backward::cxxanyargs::rb_ensure(VALUE (*)(...), VALUE, VALUE (*)(...), VALUE)’ is deprecated: Use of ANYARGS in this function is deprecated [-Wdeprecated-declarations]
  251 |     func1_t *t = reinterpret_cast<func1_t*>(q);
      |                                          ^
/usr/include/ruby-2.7.0/ruby/backward/cxxanyargs.hpp:248:1: note: declared here
  248 | rb_ensure(type *q, VALUE w, type *e, VALUE r)
      | ^~~~~~~~~
/usr/include/ruby-2.7.0/ruby/backward/cxxanyargs.hpp:252:14: warning: ‘VALUE ruby::backward::cxxanyargs::rb_ensure(VALUE (*)(...), VALUE, VALUE (*)(...), VALUE)’ is deprecated: Use of ANYARGS in this function is deprecated [-Wdeprecated-declarations]
  252 |     func1_t *y = reinterpret_cast<func1_t*>(e);
      |              ^
/usr/include/ruby-2.7.0/ruby/backward/cxxanyargs.hpp:248:1: note: declared here
  248 | rb_ensure(type *q, VALUE w, type *e, VALUE r)
      | ^~~~~~~~~
/usr/include/ruby-2.7.0/ruby/backward/cxxanyargs.hpp:252:42: warning: ‘VALUE ruby::backward::cxxanyargs::rb_ensure(VALUE (*)(...), VALUE, VALUE (*)(...), VALUE)’ is deprecated: Use of ANYARGS in this function is deprecated [-Wdeprecated-declarations]
  252 |     func1_t *y = reinterpret_cast<func1_t*>(e);
      |                                          ^
/usr/include/ruby-2.7.0/ruby/backward/cxxanyargs.hpp:248:1: note: declared here
  248 | rb_ensure(type *q, VALUE w, type *e, VALUE r)
      | ^~~~~~~~~
/usr/include/ruby-2.7.0/ruby/backward/cxxanyargs.hpp: In function ‘VALUE ruby::backward::cxxanyargs::rb_thread_create(VALUE (*)(...), void*)’:
/usr/include/ruby-2.7.0/ruby/backward/cxxanyargs.hpp:343:12: warning: ‘VALUE ruby::backward::cxxanyargs::rb_thread_create(VALUE (*)(...), void*)’ is deprecated: Use of ANYARGS in this function is deprecated [-Wdeprecated-declarations]
  343 |     ptr_t *e = reinterpret_cast<ptr_t*>(q);
      |            ^
/usr/include/ruby-2.7.0/ruby/backward/cxxanyargs.hpp:340:1: note: declared here
  340 | rb_thread_create(type *q, void *w)
      | ^~~~~~~~~~~~~~~~
/usr/include/ruby-2.7.0/ruby/backward/cxxanyargs.hpp:343:38: warning: ‘VALUE ruby::backward::cxxanyargs::rb_thread_create(VALUE (*)(...), void*)’ is deprecated: Use of ANYARGS in this function is deprecated [-Wdeprecated-declarations]
  343 |     ptr_t *e = reinterpret_cast<ptr_t*>(q);
      |                                      ^
/usr/include/ruby-2.7.0/ruby/backward/cxxanyargs.hpp:340:1: note: declared here
  340 | rb_thread_create(type *q, void *w)
      | ^~~~~~~~~~~~~~~~
```

These warnings are coming include/ruby/backward/cxxanyargs.hpp where 
 RUBY_CXX_DEPRECATED("Use of ANYARGS in this function is deprecated") are included across the file. These deprecation warnings are printed only because the backward compatibility file is included. But there seems no way to disable backward compatibility inclusion.

These warnings should be printed only when the deprecated code is used by the user. Otherwise the compiler should be silent.



-- 
https://bugs.ruby-lang.org/

Unsubscribe: <mailto:ruby-core-request@ruby-lang.org?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>

In This Thread