-
Notifications
You must be signed in to change notification settings - Fork 136
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Use C++17 language features #18
Comments
It was the thing which I was about to ask for. |
|
If you use 32-bit Linux, well… meh. I think this is happening. |
Who uses 32-bit Linux today? The Ubuntu PPA and Fedora include i386/i686 builds of avr-gcc and arm-none-eabi-gcc. Oh, Raspberry Pi still has no official 64-bit software support 😒 |
Also missing x86 support 😒 |
It happened. |
\o/ |
We're already using C++14 by default, which requires at least GCC 5.
This is an issue for the official avr-gcc from Atmel which ships with Ubuntu in version 4.9.3.
Most other linux distributions, as well as macOS via Homebrew (Q: what about Windows?) compile their own avr-gcc from upstream, which is missing support for several AVR architectures and devices.
For the sake of moving forwards, we've accepted this caveat and are using a self-compiled avr-gcc 7.3.0 for our CI.
ARM already ships arm-none-eabi-gcc for v7.2.0 since the 2017q4 release.
The C++ standards support page for GCC shows that all language features of C++17 (except fixes to template argument deduction for class templates) are supported by GCC 7.
I would therefore like to enable C++17 as the default for modm to already make use of very useful new features such as
constexpr if
, enhancements to variadic templates, selection statements with initializers, constexpr lambdas and many more.cc @dergraaf @strongly-typed @rleh @chris-durand @daniel-k @ekiwi @georgi-g @mhthies
The text was updated successfully, but these errors were encountered: