Search code examples
c++gccavratmelstudio

AVR gcc version < gcc release versions -- why?


I noticed that gcc for AVR lags behind the main development stream of gcc. For example, gcc for AVR8 is 4.9.2 in Atmel Studio 7 and Arduino, and AVR32 is at 4.4.7 in Atmel Studio. Meanwhile, gcc 4.9.4 is the current 4.9 release, and development is pushing multiple branches 5.x, 6.x and 7.x (https://gcc.gnu.org/develop.html).

Update (November 2019): Atmel Studio and the Arduino toolchain are now up to gcc 5.4, which still only fully implements C++11.


My concern is that I may run into early implementation issues by using recently added features of the C++ language with an older compiler. Additionally, the development process of AVR support in gcc is unclear.

  • Are new features of the C++ language being added to the gcc + AVR toolchain?
  • Can I use them with Atmel Studio or the Arduino IDE?

Solution

  • If there is a particular version of GCC you want to use, just use it. Build it yourself or get a pre-built, there is no reason you need to use the Atmel sandbox.