The past week saw new releases of two major C++ implementations, with a focus on standards conformance improvements.
Edison Design Group (EDG) shipped version 4.8 of their C++ compiler front-end. This is the first EDG C++ release to achieve full C++11 language conformance. It adds support for C++11 inheriting constructors, user-defined literals, thread_local
variables, alignment support (alignof
and alignas
), and complete decltype
support.
Note: You can't buy a complete compiler from EDG, but EDG's front-end is a key part of several major commercial compilers and tools. With the availability of 4.8, this means that EDG-based products such as Intel's ICC compiler could achieve full language conformance when they can integrate the EDG 4.8 front-end in a future release.
Microsoft shipped Visual C++ 2013, a major update to VC++ 2012 with additional C++ conformance features. Since last year's release, VC++ 2013 adds the following ISO C++ features: explicit conversion operators, raw string literals, function template default arguments, delegating constructors, { } uniform initialization syntax and initializer_list
s, variadic templates, non-static data member initializers, =default
, =delete
, and using
aliases. This release also include some small post-C++11 features that were approved earlier this year for inclusion in the draft of the upcoming C++14 standard, including make_unique
, nonmember cbegin
/cend
, the improved <functional>
operator functors such as greater<>
, and the new transformation trait type aliases such as remove_reference_t
.
At the GoingNative conference in September, Microsoft also announced that before the end of the year it expects to release a follow-on "alpha" or preview compiler containining initial implementations of additional C++11 language features, likely including 'some or all of' the following: implicit move function generation, &
and &&
qualifiers on member functions, __func__
, extended sizeof
, thread-safe initialization of function local static variables, unconditional noexcept
, constexpr
on functions other than constructors, and possibly inheriting constructors. The CTP is also expected to include support for several new draft-standard C++14 language features, including auto
function return type deduction, decltype(auto)
, and possibly the much-anticipated C++14 marquee feature generic lambdas. It will likely also include an initial implementation of the await
concurrency language feature that is being proposed for possible inclusion in a future standard.
Add a Comment
Comments are closed.