C++17 Support in GCC
GCC has almost full support for the latest revision of the C++ standard, which was published in 2017. Some library features are missing or incomplete, as described in the library documentation.
C++17 features are available as part of "mainline" GCC in the trunk of GCC's repository and in GCC 5 and later. To enable C++17 support, add the command-line parameter -std=c++17 to your g++ command line. Or, to enable GNU extensions in addition to C++17 features, add -std=gnu++17.
The ARM compiler shipped with Arduino 1.8.10 is version 5.4.1 which was released in June 2016. The AVR compiler is 7.3.0 which was released in January 2018. The current GCC compiler is 9.2.0 which was released in August 2019. GCC 10 will likely be released in a couple of months (we are currently at stage3 of development). As GCC 10 comes out, the GCC 7.x branch will be frozen (GCC 5.x was frozen much earlier).
cd $HOME/.platformio/toolchain/gccarmnoneeabi/arm-none-eabi/lib/
ln -s ../../../toolchain-gccarmnoneeabi@1.50401.190816/arm-none-eabi/lib/libarm_cortexM7lfsp_math.a
...
It's a kludge, but it's a way to try things out and see how it goes ...
* unfortunately, this leads to "cannot find -larm_cortexM7lfsp_math", which I worked around using this:
Code:cd $HOME/.platformio/toolchain/gccarmnoneeabi/arm-none-eabi/lib/ ln -s ../../../toolchain-gccarmnoneeabi@1.50401.190816/arm-none-eabi/lib/libarm_cortexM7lfsp_math.a
It's a kludge, but it's a way to try things out and see how it goes ...
build_unflags= -larm_cortexM4lf_math