From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on dcvr.yhbt.net X-Spam-Level: X-Spam-ASN: AS4713 221.184.0.0/13 X-Spam-Status: No, score=-2.5 required=3.0 tests=AWL,BAYES_00, DKIM_ADSP_CUSTOM_MED,FORGED_GMAIL_RCVD,FREEMAIL_FORGED_FROMDOMAIN, FREEMAIL_FROM,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI, RCVD_IN_DNSWL_MED,SPF_HELO_NONE,SPF_PASS,UNPARSEABLE_RELAY shortcircuit=no autolearn=no autolearn_force=no version=3.4.2 Received: from neon.ruby-lang.org (neon.ruby-lang.org [221.186.184.75]) by dcvr.yhbt.net (Postfix) with ESMTP id 72E021F5AE for ; Thu, 29 Apr 2021 13:39:13 +0000 (UTC) Received: from neon.ruby-lang.org (localhost [IPv6:::1]) by neon.ruby-lang.org (Postfix) with ESMTP id DFE9B120F09; Thu, 29 Apr 2021 22:38:06 +0900 (JST) Received: from o1678948x4.outbound-mail.sendgrid.net (o1678948x4.outbound-mail.sendgrid.net [167.89.48.4]) by neon.ruby-lang.org (Postfix) with ESMTPS id 8BF5A120F08 for ; Thu, 29 Apr 2021 22:38:03 +0900 (JST) Received: by filterdrecv-6546b448d7-sf47b with SMTP id filterdrecv-6546b448d7-sf47b-1-608AB6F7-7C 2021-04-29 13:39:03.832313999 +0000 UTC m=+58836.442137834 Received: from herokuapp.com (unknown) by ismtpd0149p1iad2.sendgrid.net (SG) with ESMTP id 6hCagSGDTuqPWtUfJcbT9Q for ; Thu, 29 Apr 2021 13:39:03.794 +0000 (UTC) Date: Thu, 29 Apr 2021 13:39:03 +0000 (UTC) From: xtkoba+ruby@gmail.com Message-ID: References: Mime-Version: 1.0 X-Redmine-Project: ruby-master X-Redmine-Issue-Tracker: Feature X-Redmine-Issue-Id: 17752 X-Redmine-Issue-Author: Eregon X-Redmine-Issue-Assignee: Eregon X-Redmine-Sender: xtkoba X-Mailer: Redmine X-Redmine-Host: bugs.ruby-lang.org X-Redmine-Site: Ruby Issue Tracking System X-Auto-Response-Suppress: All Auto-Submitted: auto-generated X-Redmine-MailingListIntegration-Message-Ids: 79704 X-SG-EID: =?us-ascii?Q?75w3+RXRrinEP3ykAS=2F1WzD2vTMrJdTeEiaFbXc9IwU4LFN+GXFd4C0JJZICyG?= =?us-ascii?Q?0xfoW61HOjPAo1RJAQmtf20I7ZSJkXvMI8LuCAh?= =?us-ascii?Q?4SRlu1W71ZSVjfcgxSTS+SS2WiXTlQCYYOVSWSs?= =?us-ascii?Q?c=2FA=2FZ+4KU6EEXYzDewKzbq6YlfcSpn+FSm7zwwM?= =?us-ascii?Q?nIo9AqJzLCvDa5YnYyRy6rSHd4yUQZp3Vpg=3D=3D?= To: ruby-core@ruby-lang.org X-Entity-ID: b/2+PoftWZ6GuOu3b0IycA== X-ML-Name: ruby-core X-Mail-Count: 103657 Subject: [ruby-core:103657] [Ruby master Feature#17752] Enable -Wundef for C extensions in repository X-BeenThere: ruby-core@ruby-lang.org X-Mailman-Version: 2.1.15 Precedence: list Reply-To: Ruby developers List-Id: Ruby developers List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: ruby-core-bounces@ruby-lang.org Sender: "ruby-core" Issue #17752 has been updated by xtkoba (Tee KOBAYASHI). user:Eregon Thank you very much. I have just learnt how to use GitHub. I will do it by myself next time. ---------------------------------------- Feature #17752: Enable -Wundef for C extensions in repository https://bugs.ruby-lang.org/issues/17752#change-91753 * Author: Eregon (Benoit Daloze) * Status: Open * 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/