[#104004] [Ruby master Feature#17883] Load bundler/setup earlier to make `bundle exec ruby -r` respect Gemfile — mame@...
Issue #17883 has been reported by mame (Yusuke Endoh).
21 messages
2021/05/24
[ruby-core:103729] [Ruby master Feature#17752] Enable -Wundef for C extensions in repository
From:
mame@...
Date:
2021-05-05 04:09:48 UTC
List:
ruby-core #103729
Issue #17752 has been updated by mame (Yusuke Endoh). * @nobu fixed the error on old GCC: 5bde2e61db8148cd5a7974f640aee38be60bf368 * I think I fixed the error on icc (but not confirmed yet): e71c9ca529f1dce2c3816653cd974ce786eea7d8 * @nobu is now creating a patch fo M1 macOS. ---------------------------------------- Feature #17752: Enable -Wundef for C extensions in repository https://bugs.ruby-lang.org/issues/17752#change-91823 * Author: Eregon (Benoit Daloze) * Status: Assigned * Priority: Normal * Assignee: Eregon (Benoit Daloze) * Target version: 3.1 ---------------------------------------- I would like to enable `-Wundef` for C extensions built/bundled with CRuby. From https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html > -Wundef > Warn if an undefined identifier is evaluated in an #if directive. Such identifiers are replaced with zero. I found this warning to be quite useful, notably when investigating why a given C extension did not include some code I expected, and then building those extensions on TruffleRuby. There are a couple places not respecting this currently but they seem trivial to fix, I can do that. For instance a confusing case is: https://github.com/ruby/ruby/blob/9143d21b1bf2f16b1e847d569a588510726d8860/ext/nkf/nkf-utf8/nkf.h#L19 ``` #if DEFAULT_NEWLINE == 0x0D0A ``` which without -Wundef would just exclude the code without any warning if DEFAULT_NEWLINE is not defined. I'm not sure if we should/can enable it for C extensions in general (installed as gems), as if a C extensions uses -Werror and would have such a warning it would no longer build. I can make a PR for this. I'm not sure where to add -Wundef though, should it be in https://github.com/ruby/ruby/blob/9143d21b1bf2f16b1e847d569a588510726d8860/configure.ac#L620, or maybe in mkmf.rb? ---Files-------------------------------- ruby-USE_BACKTRACE.patch (1.21 KB) ruby-BIGNUM_EMBED_LEN_MAX.patch (950 Bytes) ruby-COROUTINE_LIMITED_ADDRESS_SPACE.patch (711 Bytes) ruby-trivial-undefined-macros.patch (4.35 KB) ruby-trivial-undefind-macros-0002.patch (1.44 KB) -- https://bugs.ruby-lang.org/ Unsubscribe: <mailto:[email protected]?subject=unsubscribe> <http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>