https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109814

--- Comment #9 from lesto fante <lestofante88 at gmail dot com> ---
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?

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.

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.

Unofficial AVR-gcc used the trick of making double into float, i would prefer
compilation error than those switcheroo under the hoods.

Reply via email to