Replies: 16 comments
-
In addition, the GCC AVR backend will be deprecated in v10 and removed in v11 (~2021 release), so we may gain C++20 while loosing AVR support. Since Cortex-M development is de-prioritized by ARM for GCC as well with new features (Helium extension etc) only being added to LLVM, it may be necessary to switch to LLVM as our primary supported compiler. |
Beta Was this translation helpful? Give feedback.
-
What is the main effort of upgrading to GCC 10? As @salkinium says, AVR is supported (but deprecated) there so that should not technically be a blocker. |
Beta Was this translation helpful? Give feedback.
-
So I'm waiting on ARM. |
Beta Was this translation helpful? Give feedback.
-
Main motivation for the upgrade to GCC10 are C++20 features, mainly Concepts. See discussions #341 and #353. |
Beta Was this translation helpful? Give feedback.
-
Most Linux distributions (Ubuntu, Fedora, Arch,
I hope AVR-support will stay in GCC after version 11, there is a chance: https://www.bountysource.com/issues/84630749-avr-convert-the-backend-to-mode_cc-so-it-can-be-kept-in-future-releases |
Beta Was this translation helpful? Give feedback.
-
There already is a ARM GCC 10 "Preview": https://developer.arm.com/tools-and-software/open-source-software/developer-tools/gnu-toolchain/gnu-rm/downloads#panel2a
|
Beta Was this translation helpful? Give feedback.
-
Hui! So I can already play around with Coroutines on Cortex-M? The fibers are quivering!1!! |
Beta Was this translation helpful? Give feedback.
-
ARM GCC 10 is now out of preview and available! |
Beta Was this translation helpful? Give feedback.
-
Nice! |
Beta Was this translation helpful? Give feedback.
-
Yes, please! |
Beta Was this translation helpful? Give feedback.
-
Looking at the GCC Standards Support we still won't get full C++20 features with v10 and even in v11 some things are still missing. So we have to be a little careful about what features we use. |
Beta Was this translation helpful? Give feedback.
-
Does this have interest C++20 Register abstraction? |
Beta Was this translation helpful? Give feedback.
-
Good news, the AVR CC0 port bounty was completed and the work was checked in to mainline. |
Beta Was this translation helpful? Give feedback.
-
avr-gcc v11 is now also available on macOS and we can port the changes (if any) to our avr-gcc Linux repo: We'll have to wait and see if the ARM toolchain goes GCC11 or stays another 6 months at GCC10. |
Beta Was this translation helpful? Give feedback.
-
I just found some avr-gcc v11 binaries for Windows provided by @ckormanyos: https://github.com/ckormanyos/real-time-cpp-toolchains Maybe we can use them to our Windows CI? |
Beta Was this translation helpful? Give feedback.
-
Indeed. The ckormanyos/real-time-cpp-toolchains repository has a coherent set of GCC 11.2 compilers. I ended up building various GCC 11.2 compilers for Windows --- including I haven't written much about this and not yet fully completed providing/documenting the patches. It is, however, quite straighforward to use these compilers quite successfully in development, or as I do in my CI on Notes on building the tools are here |
Beta Was this translation helpful? Give feedback.
-
A lot of the C++20 features are already available with GCC9, most big features (Coroutines, Concepts, ...) will require GCC10.
For a complete list see https://en.cppreference.com/w/cpp/compiler_support.
Beta Was this translation helpful? Give feedback.
All reactions