GCC 7 & Clang Are Nearing Full C++1z/C++17 Support

Written by Michael Larabel in LLVM on 14 October 2016 at 06:40 AM EDT. 7 Comments
LLVM
While C++17 hasn't even been officially released yet, this specification also known as C++1z, has nearly all of the expected features implemented in the GCC 7 and Clang compiler releases.

C++17/C++1z features had begun landing in the GNU Compiler Collection since GCC 5 while some functionality even dates back to GCC 4.8, but the GCC 7 SVN/Git code implements a majority of the new language features. Support for inline variables was the latest feature to be added while many other new language features were previously added to GCC 7 development that's been open since April.

Of the expected C++17 features, there are just a few not yet implemented: extension to aggregate initialization, declaring non-type template parameters with auto, structured bindings, make extension specifications be part of the type system, and reworking inheriting constructors. That's it, at least for the features expected so far to make it into this next C++ standard.

Those wishing to see an overview of the current C++17 support in the GCC code compiler can visit the status page.

Over in the LLVM/Clang space, the C++1z status can be seen here. A bulk of the features landed with Clang 3.9 that debuted back in August. Clang too just has a few extensions left and presumably most of those will get done in time for the Clang 4.0 release in early 2017.

With either C++ compiler, the new language features can be exposed via the -std=c++1z switch.
Related News
About The Author
Michael Larabel

Michael Larabel is the principal author of Phoronix.com and founded the site in 2004 with a focus on enriching the Linux hardware experience. Michael has written more than 20,000 articles covering the state of Linux hardware support, Linux performance, graphics drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and OpenBenchmarking.org automated benchmarking software. He can be followed via Twitter, LinkedIn, or contacted via MichaelLarabel.com.

Popular News This Week