From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on starla X-Spam-Level: X-Spam-Status: No, score=-1.1 required=3.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,MAILING_LIST_MULTI,SPF_HELO_PASS,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 Received: from nue.mailmanlists.eu (nue.mailmanlists.eu [94.130.110.93]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by dcvr.yhbt.net (Postfix) with ESMTPS id C7E101F4CC for ; Tue, 14 Jan 2025 17:34:51 +0000 (UTC) Authentication-Results: dcvr.yhbt.net; dkim=pass (1024-bit key; unprotected) header.d=ml.ruby-lang.org header.i=@ml.ruby-lang.org header.a=rsa-sha256 header.s=mail header.b=PWoGivmx; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=ruby-lang.org header.i=@ruby-lang.org header.a=rsa-sha256 header.s=s1 header.b=PUeNmzWo; dkim-atps=neutral DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ml.ruby-lang.org; s=mail; t=1736876059; bh=QS8SFD95aVwTr0ozG0YPepNW8GtkdokCNcKw9PL7pXw=; h=Date:References:To:Reply-To:Subject:List-Id:List-Archive: List-Help:List-Owner:List-Post:List-Subscribe:List-Unsubscribe: From:Cc:From; b=PWoGivmxAIWchwy1of0s/UmQJACS7Jv3bdgMgOH5YNAmqklhgk4zKi6Vg7IeIhOEG 9OSK2+n0ooKaC1o3uMvLw2zIFS6+B7C2apvWKZLxej770ZvHKueqJ8AcniatCSzynA aUlxNCiehp5AlLL6TMb4IctStZ9QL4us2E0zJqYk= Received: from nue.mailmanlists.eu (localhost [IPv6:::1]) by nue.mailmanlists.eu (Postfix) with ESMTP id 3E77946861 for ; Tue, 14 Jan 2025 17:34:19 +0000 (UTC) Authentication-Results: nue.mailmanlists.eu; dkim=pass (2048-bit key; unprotected) header.d=ruby-lang.org header.i=@ruby-lang.org header.a=rsa-sha256 header.s=s1 header.b=PUeNmzWo; dkim-atps=neutral Received: from s.wfbtzhsv.outbound-mail.sendgrid.net (s.wfbtzhsv.outbound-mail.sendgrid.net [159.183.224.104]) by nue.mailmanlists.eu (Postfix) with ESMTPS id C53E84683B for ; Tue, 14 Jan 2025 17:34:13 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ruby-lang.org; h=from:references:subject:mime-version:content-type: content-transfer-encoding:list-id:to:cc:content-type:from:subject:to; s=s1; bh=JPOMSwCxHRxfHrYm80QOGlwYQ/iPrswU4zJp+5yDLdk=; b=PUeNmzWoC9Pe3l4ZA0O8tX5GtZoxwbGNV8d/1EHt2D10BTkkFPT9waSS2vHuN0ZfuJcK f+dewT3Hy29qOlh0LkoaQKS5vagnb00rjRG3YJnZGVPEzOQhiUUS9X9NV5AvfkuRcA41Hu 6dI+Kl9ZtWNzVMoTq+EnVadLn2aPDxw+wEj0W81DzOgUegDvVtCZ8VzJBhuExkdJRCGtxq XAEkxAqGJPQQ/0KVS5BtJ7Lbp2nHQQ3jdaD1XC4rAVXmWe5Q+3LHDJxChDLPwmSorHp6g0 Gl0oZ3gb0at++Xva1Wl/A2nHpm8C0ifh0o7GVXsDJTYO3tm4p5/7Wbu90PjE9low== Received: by recvd-5f54b5d587-qstlq with SMTP id recvd-5f54b5d587-qstlq-1-6786A014-9 2025-01-14 17:34:12.353885905 +0000 UTC m=+5256762.893748315 Received: from herokuapp.com (unknown) by geopod-ismtpd-35 (SG) with ESMTP id 9Oex3iKhR7a4WOFfFWsOaA for ; Tue, 14 Jan 2025 17:34:12.286 +0000 (UTC) Date: Tue, 14 Jan 2025 17:34:12 +0000 (UTC) Message-ID: References: Mime-Version: 1.0 X-Redmine-Project: ruby-master X-Redmine-Issue-Tracker: Bug X-Redmine-Issue-Id: 21024 X-Redmine-Issue-Author: jprokop X-Redmine-Issue-Priority: Normal X-Redmine-Sender: jaruga 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: 97353 X-SG-EID: =?us-ascii?Q?u001=2EJPx5HNicUauVW+bvI18AVaQf3Grg8WK2jpSmWDeplGL=2FgVGVyq239lhc9?= =?us-ascii?Q?OaLzmUgEvRZ7cQC72mTPB436OPLgoKlGmfLkK0b?= =?us-ascii?Q?3FDJt5vUkzt3CGCSZPy6d6eplAYvuMZ5nxb6viu?= =?us-ascii?Q?ts9NKTbGttTakylTNMb5o2jb=2FRKvZIAwigtwIAG?= =?us-ascii?Q?eANw8XIWZRxlCm5i7ED7JWz7gLR3krvyCSzRjSv?= =?us-ascii?Q?Be0JkqAFb8Mh1yV5X6IgdBF7ISVS7a8GGKMcPM2?= =?us-ascii?Q?h4MM?= To: ruby-core@ml.ruby-lang.org X-Entity-ID: u001.I8uzylDtAfgbeCOeLBYDww== Message-ID-Hash: 4KZI32GIVM4B3MB2UUAHMSTGIYTYMTPP X-Message-ID-Hash: 4KZI32GIVM4B3MB2UUAHMSTGIYTYMTPP X-MailFrom: bounces+313651-b711-ruby-core=ml.ruby-lang.org@em5188.ruby-lang.org X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header X-Mailman-Version: 3.3.9 Precedence: list Reply-To: Ruby developers Subject: [ruby-core:120667] [Ruby master Bug#21024] Ruby including generates compilation warning with GCC 15, header is deprecated in C++17, List-Id: Ruby developers Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: From: "jaruga (Jun Aruga) via ruby-core" Cc: "jaruga (Jun Aruga)" Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Issue #21024 has been updated by jaruga (Jun Aruga). For the record, nobu sent the following PR, and merged. https://github.com/ruby/ruby/pull/12573 ---------------------------------------- Bug #21024: Ruby including generates compilation warning with GCC 15, header is deprecated in C++17, https://bugs.ruby-lang.org/issues/21024#change-111492 * Author: jprokop (Jarek Prokop) * Status: Closed * ruby -v: ruby 3.4.1 (2024-12-25 revision 48d4efcb85) +PRISM [x86_64-linux] * Backport: 3.1: UNKNOWN, 3.2: UNKNOWN, 3.3: UNKNOWN, 3.4: UNKNOWN ---------------------------------------- C++ compiler in GCC 15 now generates a warning when trying to include ``. This file is being included when compiling with C++ compiler from `include/ruby/internal/stdbool.h`. In C++, true, false and bool are keywords so including headers for boolean definitions should not be necessary. Alternatively, just including should be sufficient as that is what the `#include ` results in with GCC. Simplest fix is just deleting the lines that are including the file (see attached patch and comments 2 and 3 from downstream issue linked in the bottom section "Additional info"). Considering the wide array of compilers Ruby aims to support to be compiled with I wanted to make an issue here first to make sure there isn't a supported compiler that wouldn't agree with this approach. Reproduction: Obtain GCC 15, for Fedora Rawhide there is currently a repo of maintainer, I use it in Fedora Rawhide container (podman is replaceable for docker here): ``` host$ podman run -it --rm registry.fedoraproject.org/fedora:rawhide bash container# echo "[gcc_15] name=pre-release GCC 15 Repo baseurl=https://fedorapeople.org/~dmalcolm/gcc/gcc-15-mass-prebuild/$basearch type=rpm-md skip_if_unavailable=True gpgcheck=0 repo_gpgcheck=0 enabled=1 enabled_metadata=1" > /etc/yum.repos.d/gcc_15.repo container# dnf install --assumeyes g++ ruby-devel ``` ^ should install `g++-15.0.0` and `ruby.h` needed for the reproducer. Note: that baseurl is a custom space of a Fedora maintainer. Have a file named for example `main.cpp`: ``` cpp #include int main(void) { return 0; } ``` Compile with GCC 15 ``` $ g++ main.cpp ``` Current behavior: Compiling throws warning: ``` $ g++ main.cpp In file included from /usr/include/ruby/internal/stdbool.h:30, from /usr/include/ruby/backward/2/bool.h:22, from /usr/include/ruby/defines.h:74, from /usr/include/ruby/ruby.h:25, from /usr/include/ruby.h:38, from reproducer.cpp:1: /usr/include/c++/15/cstdbool:48:6: warning: #warning " is deprecated in C++17, remove the #include" [-Wcpp] 48 | # warning " is deprecated in C++17, remove the #include" | ^~~~~~~ ``` Expected: Compilation throws no warnings and compiles the executable: ``` $ g++ reproducer.cpp $ echo $? 0 ``` Additional info: ``` $ g++ --version g++ (GCC) 15.0.0 20241203 (Red Hat 15.0.0-0) Copyright (C) 2024 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. ``` This was met during recompilation of libdnf5 that includes `-Werror` in their compilation flags, See downstream discussion: https://bugzilla.redhat.com/show_bug.cgi?id=2336567 Considering the inclusion of the throws me up to 5 years ago back ( https://github.com/ruby/ruby/blob/9e6e39c3512f7a962c44dc3729c98a0f8be90341/include/ruby/3/stdbool.h ), I assume this warning will be the case with older rubies as well as newest master when using GCC 15. ---Files-------------------------------- 0001-Stop-including-cstdbool-in-include-ruby-internal-std.patch (869 Bytes) -- https://bugs.ruby-lang.org/ ______________________________________________ ruby-core mailing list -- ruby-core@ml.ruby-lang.org To unsubscribe send an email to ruby-core-leave@ml.ruby-lang.org ruby-core info -- https://ml.ruby-lang.org/mailman3/lists/ruby-core.ml.ruby-lang.org/