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

