We're still many months out from seeing the release of GCC 4.9
and LLVM Clang 3.4
releases, but with the next major updates to these open-source code compilers will come better support for the C++14 (C++1y) language.
C++1y is the next major update to the C++ programming language and succeeds C++11. C++1y is expected to be released in 2014 -- and thus would be officially C++14 -- and it's an evolutionary upgrade over C++11.
Both GCC and LLVM/Clang have already been working towards C++1y support with regards to the likely proposals and changes for the language update. The current stable releases of GCC and Clang already have in early support.
Among the C++1y enablement introduced so far in the GCC 4.9 development cycle include:
- Support for binary literals in the core C++ language.
- The latest (Revision 5) of return type deduction for normal functions.
- Runtime-sized arrays with automatic storage duration / expanded variable length array support from what was supported currently.
- Full support for generalized lambda capture initializers.
Among the work items still to do are generic lambda expressions, variable templates, relaxed requirements on constexpr functions, member initializers and aggregates, and clarifying memory allocation. The active C++1y/C++14 support status for GCC is documented on this project page
. Enabling C++14 support in modern compilers can be done via the -std=c++1y
switch for the GCC C++ compiler or LLVM's Clang compiler.
The current LLVM/Clang support for C++1y meanwhile can be found on their C++ status page