-
Notifications
You must be signed in to change notification settings - Fork 25
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Consider contributing to upstream libstdc++ instead #23
Comments
I forgot to link to the changes already approved for C++23: |
We're aware of Ben's work on freestanding since 2018 or so. This repo is not meant to replace the stdlibc++, just remove the need to have a stdlibc++ polyfill implementation in modm only for AVR devices. Maybe @chris-durand can tell you more, since he adapted the code. |
OK, thanks for the reply. FWIW when we implement Ben's proposals in libstdc++ I don't plan to make it conditional on using C++23 mode. A freestanding implementation is allowed to provide more than the minimum set of features. So I think we should enable |
Thank you Jonathon (@jwakely). I've been very briefly in previous contact with Ben regarding new efforts specifying and expanding freestanding in the standard. Although I have not contributed recently, I would like to get more involved in the work. In general, we find that the GCC port(s) to AVR can be an interesting place to investigate such matters. Since the GCC port does not ship with an STL, it is possible to simply |
Hi Jonathon (@jwakely). Where is this work? How can I/we get started if interest/time allow? I would like to see progress on |
It's happening in frequently rebased git branches for now, but might be finished in the next few days and will get committed upstream. You can find me on GCC's developer IRC channel if you want the details. When I first commented here the work hadn't started yet (just ideas on paper) but now we have most of the code changes done, and we're getting the tests green. For now we've skipped |
Thank you @jwakely. |
That work is now upstream 🎉 |
Thank you Jonathan (@jwakely)! |
There is an ongoing project to increase the parts of the C++ Standard Library that are available for freestanding implementations, i.e. those with no OS, so no I/O and no malloc. C++23 already enables all of
<tuple>
, most of<atomic>
,<functional>
,std::unique_ptr
, and more. For C++26 that will increase to include<algorithm>
and more.This means that upstream libstdc++ will be enabling all those features for freestanding in the near future. Rather than duplicating work, it seems to me that it would benefit everybody if you contributed to that effort to enable those features in upstream libstdc++.
The text was updated successfully, but these errors were encountered: