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=0.1 required=3.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,MAILING_LIST_MULTI,RCVD_IN_BL_SPAMCOP_NET,SPF_HELO_PASS, SPF_PASS autolearn=no 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) server-digest SHA256) (No client certificate requested) by dcvr.yhbt.net (Postfix) with ESMTPS id 6D5B61F4CC for ; Fri, 10 Jan 2025 16:55:47 +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=0lBEW7W9; 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=OuPYl9bR; dkim-atps=neutral DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ml.ruby-lang.org; s=mail; t=1736528144; bh=xtxl8RY2qvh8YtVExqHnTgvhFbNCaEEiEjM0Qrx84YU=; 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=0lBEW7W9T5U4ObuEjjsuqPYWIOzwowuJApnGhbxZaxci3whF8BSZKXOBpFlvxt1Iu 6mcSxkRLSko00AI1vmlZZYhdFDq0AIirhqjPNty156MSIlwmY0XUQgAO6dLGWDlr7J FgJQ5QaViVwkYY/9iJqOX8ozIJzhXtWYAuYD9/o4= Received: from nue.mailmanlists.eu (localhost [IPv6:::1]) by nue.mailmanlists.eu (Postfix) with ESMTP id 006D9467DE for ; Fri, 10 Jan 2025 16:55:44 +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=OuPYl9bR; dkim-atps=neutral Received: from s.wrqvtbkv.outbound-mail.sendgrid.net (s.wrqvtbkv.outbound-mail.sendgrid.net [149.72.123.24]) by nue.mailmanlists.eu (Postfix) with ESMTPS id 3CDAC467BB for ; Fri, 10 Jan 2025 16:55:39 +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=oBd3ZO941e3ErtTYnjmiERBjJ7nugOU63c0I21CbRS8=; b=OuPYl9bRrkBbj1IvdGWz0ZaNUT/WUqcNp7AoOUhGGk1cxGxPbZZ5rA4wPzfdDtXzj3lR IKK2UD71SYeIxpfGkOEZ+0eP0gjnMPGtlU9oGHjh54i5iyXYanp9aBXcPdBhbSnD8FT88n Ww0SNaIez5E5/1Her3CTnvBm7wwUlOn6P1nhw/u+kvl8lbUcq/VzV1ZiWMVRw/CxVue9wl PezlVrc1mMQkzLcbBl7ftGj2cZA5c1V5kL34nFKuAuX9nNZ/L9zJ50X/Gvl9pw/dTOdw9Q +34Ds7F5F2lH7r2XlGH5Ye43FvBBSCadlcL15dki5sSTSmEKlmwHBDzYoFuMAOTg== Received: by recvd-5c8ccdbd88-7m6wq with SMTP id recvd-5c8ccdbd88-7m6wq-1-67815109-25 2025-01-10 16:55:37.848946472 +0000 UTC m=+4908723.668512370 Received: from herokuapp.com (unknown) by geopod-ismtpd-12 (SG) with ESMTP id YrTz0s-3RiCoci8z1YpQKg for ; Fri, 10 Jan 2025 16:55:37.810 +0000 (UTC) Date: Fri, 10 Jan 2025 16:55:37 +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: jprokop 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: 97288 X-SG-EID: =?us-ascii?Q?u001=2EYVHSQc0W7HOh1pNc+x41ER5Z23RGOqqccs6ppbXspWZEbn0mi7kclWdfj?= =?us-ascii?Q?+xy1cWmLUnB1+qb21xEKoZQTucZUtQpukPEDcBB?= =?us-ascii?Q?FCaJ7GRNnZEHCIozLcC9CmuGihqb4vE5ftJUA3f?= =?us-ascii?Q?gsT9AaViCEDmrAAIO67XGq+ThRr7jisg8XPTAwM?= =?us-ascii?Q?zc3WS5ZBA+kLtnLjPlfkWfP2Pb3ZzrMwLOyJOZi?= =?us-ascii?Q?IgL5x7eBAP5UZe8lHp9RpWqlXuGw81wG+F0A8Ty?= =?us-ascii?Q?SkA4PVSmA=2F5GXTBFxiJmD3+hUg=3D=3D?= To: ruby-core@ml.ruby-lang.org X-Entity-ID: u001.I8uzylDtAfgbeCOeLBYDww== Message-ID-Hash: 4BJN3EQ65QB6SEACDPUV4NJKQBLUR5Z7 X-Message-ID-Hash: 4BJN3EQ65QB6SEACDPUV4NJKQBLUR5Z7 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:120601] [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: "jprokop (Jarek Prokop) via ruby-core" Cc: "jprokop (Jarek Prokop)" Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Issue #21024 has been reported by jprokop (Jarek Prokop). ---------------------------------------- Bug #21024: Ruby including generates compilation warning with GCC 15, header is deprecated in C++17, https://bugs.ruby-lang.org/issues/21024 * Author: jprokop (Jarek Prokop) * Status: Open * 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/