Hi John,
We already have <concepts> and <cstdint>, for example, when the freestanding implementation of libstdc++ is used. You can check in the C++ standard[1] all we have until now and you also can take a look at the Freestanding Proposal (p0829)[2] of Ben Craig to know more about what we can have in the future. If you want to contribute with something in this field, I think that maybe it's a good idea to take a look at https://gitlab.com/avr-libstdcxx, which is an effort to implement the p0829 in gcc. [1] https://timsong-cpp.github.io/cppwp/n4861/compliance [2] http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p0829r4.html ---- On Mon, 01 Feb 2021 16:20:01 -0300 John A. Leuenhagen <john+avr-...@zlima12.com> wrote ---- Hi all, I enjoy working in C++ with avr-gcc. Since C++11, there have been a number of low overhead features that can really make programming nicer. Unfortunately, a fair number of these are part of the standard library, and thus aren't available with avr-gcc. Naturally, much of the C++ standard library isn't remotely suitable for AVRs, and should not be supported. However, there are a fair amount of features that I believe would work very nicely, and would be worthwhile to support. For example, std::array, std::optional, <concepts>, and the C++ counterparts to the C standard headers (e.g. <cstdint>). It seems that the usual solution for those seeking this functionality is to make their own implementation. While it works, I think it would be nice to have it provided by avr-gcc, if possible. I'd prefer to keep the boilerplate in the compiler rather than my projects. Is there a reason beyond a lack of interest that these features are not supported? I would be happy to work on this if so. Would selectively picking out parts of libstdc++ be a reasonable approach?