Hi, thanx a lot for the great summary of the situation! Historically, the issue with "community" versions of the avr toolchain have been the lack of support for all AVR devices. Especially newer once. I don't know what the situation is there with the Arduino toolcahin.
I agree that providing two version of gcc (one with Arduino as upstream and one with microchip) is probably the best solution. That will however require some packaging work, and I'm afraid that my current personal situation wont allow me to put in that work anytime soon. But I will gladly support it if anyone steps up to do the work. So, the plan is to have a new release based on Atmel-3.6.2 from microchip soon, and we can then make a separate release adding the Arduino version as an alternative once it is packaged. On Sun, Jan 12, 2020 at 2:30 AM Osamu Aoki <os...@debian.org> wrote: > Hi again, > > I checked meaning of GCC versions. > > GCC development time lines: > https://gcc.gnu.org/develop.html#timeline > > As for ISO C99 conformance: > https://gcc.gnu.org/c99status.html > > The last mentioned version was GCC 5 for "extended identifiers". So GCC > 5 as supported by the vendor (microchip) isn't bad choice for C programs > mostly used by embedded programs. > > Since Arduino sketches are in-essence C++ program(*), let's see C++ > conformance: > https://gcc.gnu.org/projects/cxx-status.html > > For C++14, GCC 5 is good enough. > For C++17, GCC 7 is needed and is good enough. > For C++2a, GCC 8-10 are addressing some features. > > Unicode UTF-8 support is important. This u8 character literals support > is made available at GCC 6 as a part of C++17 feature: > http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n4267.html > https://gcc.gnu.org/gcc-6/changes.html#cxx > > This kind of explains why Arduino is updating GCC 7. > > Osamu > > (*) https://github.com/arduino/arduino-preprocessor > https://github.com/arduino/arduino-builder > > https://github.com/arduino/Arduino/wiki/Arduino-IDE-1.5-3rd-party-Hardware-specification > -- Håkan Ardö