https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98861
--- Comment #24 from cqwrteur <unlvsur at live dot com> --- (In reply to Jonathan Wakely from comment #22) > (In reply to cqwrteur from comment #20) > > 1. Freestanding C++ in the current situation is very problematic. (You do > > not have memcpy, you do not have std::move. You do not have std::forward. > > You do not have std::addressof(). > > Freestanding libstdc++ provides std::move, std::forward and std::addressof. But that is actually not standard compliant. You may end up with another toolchain that does not provide those facilities and you have troubles now. The only option is to use newlib basically and that is why newlib is nowadays the standard libc for embedded systems.