Among The Changes/Features Coming For GCC 6
First and foremost, with the release of GCC 6 the default C++ mode will now be GNU++14/C++14 rather than GNU++98!
With GCC 6 going into stage three development at the end of the week, here's a list of some of the known features for this big update to the GNU Compiler Collection that's due out in H1'2016:
- Yes, finally, C++14 (the GNU++14 dialect) will be the default C++ mode over C++98. Of course, you can specify an alternative version via the -std= switch.
- C++ Concepts are now supported when running in the GNU++1z/C++1z mode.
- The libstdc++ library has experimental C++17 support for a number of new features along with an experimental implementation of the File System TS and the 2nd Library Fundamentals TS.
- The UndefinedBehaviorSanitizer now supports strict checking of array bounds.
- AArch64/ARM64 now supports native for the march/mcpu/mtune switches to auto-detect the host CPU for optimal settings, similar to the behavior on x86 CPUs.
- GCC adds support for Intel Skylake CPUs with AVX-512 extensions via the -march=skylake-avx512. The processors with Advanced Vector Extensions 512 aren't all Skylake CPUs, but only the Skylake Xeon hardware.
- Support for new AMD instructions of monitorx and waitx.
More information on other GCC 6 changes can be found via the tentative GCC6 documentation. There's also some functionality not yet listed like AMD Zen support and more of the work that's happened in recent months on NVIDIA NVPTX and offloading in general. HSA acceleration should be working too as the latest push for GCC 6.
Stay tuned for more GCC 6 coverage and compiler benchmarks as this new compiler version stabilizes for release next year. There also continues to be daily GCC SVN benchmarks done on LinuxBenchmarking.com.