public inbox for gcc-bugs@sourceware.org help / color / mirror / Atom feed
From: "arsen at gcc dot gnu.org" <gcc-bugzilla@gcc.gnu.org> To: gcc-bugs@gcc.gnu.org Subject: [Bug libstdc++/109814] [13/14 Regression] freestanding using cmath does not compile anymore Date: Fri, 12 May 2023 22:34:06 +0000 [thread overview] Message-ID: <bug-109814-4-5r8ye3hcrV@http.gcc.gnu.org/bugzilla/> (raw) In-Reply-To: <bug-109814-4@http.gcc.gnu.org/bugzilla/> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109814 --- Comment #10 from Arsen Arsenović <arsen at gcc dot gnu.org> --- (In reply to lesto fante from comment #9) > To be fair I have no idea what would be the impact of removing freestanding, > from a quick test does not seems to have a realistic impact. > > I guess what happen here is that the freestanding option should remove as > much as possible, and the -specs=nano.specs should re-enable only the > minimum necessary. > > Seems like the proper way to do so is to just specify -specs=nano.specs, or > go full freestanding? I was hinting at the former. -ffreestanding doesn't do much (grep for flag_hosted in gcc/), so it *should* be safe to drop. (it changes __STDC_HOSTED__, and hence _GLIBCXX_HOSTED, and silences some main-related warnings) -specs=nano.specs is a newlib thing - I'm not sure how it's meant to be used (but it seems fine to keep it from a quick read) > My user case is industrial robot that have to be as reliable as possible. > > Being able to write embedded code using C++ give me RAII, constexpr, > templating, function overload, runtime and compile time polymorphism. > > Generally the manufacturer IDE disable allocation and exception, so I pretty > much avoid STL as it is a mine field. libstdc++ ought to work without those. std::allocator isn't part of the freestanding subset, but many bits of the STL work regardless of that. > In pure freestanding, I would expect smart pointer and at least parts cmath > to work; the compiler offer me only the FPU accelerated functionality, and > is up to me to implement the remaining. a good bit is, but not cmath, as a large part of it required a runtime. you should be able to use it in your configuration without -ffreestanding, probably > Unofficial AVR-gcc used the trick of making double into float, i would > prefer compilation error than those switcheroo under the hoods. arm-none-eabi-gcc seems to be built with a hosted libstdc++ configuration, so my guess is (without trying) that removing -ffreestanding should recover <cmath> I want to add more code to the freestanding subset to GCC 14, but have not had time for such experimentation yet. cmath is on that list.
next prev parent reply other threads:[~2023-05-12 22:34 UTC|newest] Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top 2023-05-11 15:27 [Bug libstdc++/109814] New: " lestofante88 at gmail dot com 2023-05-11 15:38 ` [Bug libstdc++/109814] " xry111 at gcc dot gnu.org 2023-05-11 15:52 ` redi at gcc dot gnu.org 2023-05-11 15:58 ` [Bug libstdc++/109814] [13/14 Regression] " redi at gcc dot gnu.org 2023-05-11 16:00 ` redi at gcc dot gnu.org 2023-05-11 16:48 ` lestofante88 at gmail dot com 2023-05-11 17:43 ` redi at gcc dot gnu.org 2023-05-11 19:22 ` arsen at gcc dot gnu.org 2023-05-11 19:29 ` pinskia at gcc dot gnu.org 2023-05-12 20:04 ` lestofante88 at gmail dot com 2023-05-12 22:34 ` arsen at gcc dot gnu.org [this message] 2023-05-16 20:44 ` pinskia at gcc dot gnu.org 2023-07-27 9:26 ` rguenth at gcc dot gnu.org 2023-07-27 10:54 ` redi at gcc dot gnu.org 2023-07-28 10:54 ` arsen at gcc dot gnu.org 2024-05-21 9:15 ` [Bug libstdc++/109814] [13/14/15 " jakub at gcc dot gnu.org
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=bug-109814-4-5r8ye3hcrV@http.gcc.gnu.org/bugzilla/ \ --to=gcc-bugzilla@gcc.gnu.org \ --cc=gcc-bugs@gcc.gnu.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).