From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 48) id 4BD363858C2F; Thu, 11 May 2023 15:58:43 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 4BD363858C2F DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1683820723; bh=OEoW1vLQRaYRd27LjcI8POd8deuD7m8KFlpyq3fUWK0=; h=From:To:Subject:Date:In-Reply-To:References:From; b=L/VtcK/s+lOM4SBpGtcpud3Xw14cfseacEAaM2mYYC53nQU9oA1uCd53Pu96IzfU3 HahmGHOsKE/cyVaT+0mGzzwQvmumGoT2oIncvzQKFNKpKRS1UncyLR8zILXnzvEFpw JhT/kDa+tFGq96gIJqN/ZAYXeCCbWt4tkgLw+/jo= From: "redi at gcc dot gnu.org" To: gcc-bugs@gcc.gnu.org Subject: [Bug libstdc++/109814] [13/14 Regression] freestanding using cmath does not compile anymore Date: Thu, 11 May 2023 15:58:42 +0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: libstdc++ X-Bugzilla-Version: 13.1.0 X-Bugzilla-Keywords: X-Bugzilla-Severity: normal X-Bugzilla-Who: redi at gcc dot gnu.org X-Bugzilla-Status: NEW X-Bugzilla-Resolution: X-Bugzilla-Priority: P3 X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org X-Bugzilla-Target-Milestone: --- X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: cf_reconfirmed_on cf_known_to_work everconfirmed bug_status short_desc cf_known_to_fail Message-ID: In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/ Auto-Submitted: auto-generated MIME-Version: 1.0 List-Id: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=3D109814 Jonathan Wakely changed: What |Removed |Added ---------------------------------------------------------------------------- Last reconfirmed| |2023-05-11 Known to work| |12.3.0 Ever confirmed|0 |1 Status|UNCONFIRMED |NEW Summary|freestanding using cmath |[13/14 Regression] |does not compile anymore |freestanding using cmath | |does not compile anymore Known to fail| |13.1.0, 14.0 --- Comment #3 from Jonathan Wakely --- The new behaviour is documented at https://gcc.gnu.org/onlinedocs/gcc-13.1.0/libstdc++/manual/manual/using.html and https://gcc.gnu.org/onlinedocs/gcc-13.1.0/libstdc++/manual/manual/using_dyn= amic_or_shared.html and I've just added something to the release notes about it: https://gcc.gnu.org/gcc-13/changes.html#libstdcxx But that doesn't help anybody affected by this. Is it just that you're using? We could pretty easily remove the include from that file, and then you could include with -ffreestanding. But if you have a truly freestanding environme= nt (i.e. no libm present) then nothing in is actually going to work. If people are using more than just with -ffreestanding then things = get harder. Where do we draw the line of what is part of the freestanding subse= t of libstdc++? Do we just let people include everything, and it's their fault if they create dependencies on malloc, __cxa_throw, RTTI etc.? That doesn't se= em nice.=