pert
May 15, 2018, 9:17pm
2
See:
opened 11:05AM - 09 Mar 18 UTC
closed 09:31AM - 16 Jul 19 UTC
Component: Toolchain
The current toolchain (based on GCC 4.8) is significantly outdated, it lacks man… y C++14 features. C++14 is an important update to C++ because it expands on template metaprogramming, which is a very useful technique for embedded programming: it allows writing nicely looking, convenient code that does a lot of stuff at compile-time, with zero run-time overhead. Most notably, GCC 4.8 lacks extended `constexpr` and generic lambdas - the latter is exactly what I'm missing right now and can't compile my project without.
I tried [this release](https://launchpad.net/gcc-arm-embedded/4.9/4.9-2015-q3-update), just dropped it into the toolchain-gccarmnoneeabi folder, and it seems to work just fine!
There are much newer toolchain versions available, but that's not as important as getting full c++14 support. So I'm only asking for a minor upgrade from GCC 4.8 to 4.9, because 4.9 supports `-std=c++14`.
P. S. Even the AVR compiler is based on GCC 4.9.3 and supports c++14. Its standard library is lacking (nearly non-existent, even), but that's not such a big problem because there are c++11/14 stdlib implementations for Arduino AVR.
Arduino tends to be fairly conservative about toolchain updates because a stable experience for the user is more important than providing the latest features. So I doubt they would go all the way to 7.2.1 but it certainly sounds like they understand that an update is necessary.