C++11 Compiler: Closest to the standard and how close?
31,596
Solution 1
There's a support matrix on the Apache wiki.
Solution 2
I think the one Scott Meyers maintains on his homepage is pretty good:
http://www.aristeia.com/C++0x/C++0xFeatureAvailability.htm
Solution 3
There's also GCC C++0x (or C++11) status page : http://gcc.gnu.org/projects/cxx0x.html
Solution 4
The llvm C++ compiler "clang" has partial C++11 support; you can see its current state at http://clang.llvm.org/cxx_status.html.
Related videos on Youtube
Author by
dsimcha
Updated on July 09, 2022Comments
-
dsimcha almost 2 years
I'm interested in learning C++ more thoroughly now that C++11 is apparently ratified. What compiler currently implements the closest thing available to full C++11 support? How close is said compiler to full support? Are there still major features missing or just language lawyer minutiae?
-
Security Hound over 12 yearsC++ ox/11 standard I think was just approved in the last 6 months. Its going to be awhile before the compilers have even a fraction of the support required to support the full standard. C++ 03 still isnt fully supported
-
R. Martinho Fernandes over 12 years@Ramhound the main obstacle to full C++03 support was
export
.export
was removed though. Compilers have been implementing C++11 features for a long time now, and those with the most impact are already in many present day compilers. -
Bo Persson over 12 yearsIt's worse than deprecated, it was just removed from the standard!
-
-
dsimcha over 12 yearsThanks, this was exactly the kind of thing I was looking for. I guess the bottom line is that GCC is by far the most advanced and does have support for most of the more interesting new features (though I have no idea how well-debugged said support is).
-
David Hammen over 12 years... or even how well-debugged the standard is. It took quite some time to find the bugs in the previous revisions of the standard. And yes, the new standard almost certainly is buggy. Every language standard ever introduced has had its share of bugs. The only solid way to test big chunks of a new standard is a desk check with the brains of the people on the standards committee acting as a stand-in for a working compiler. Everyone by now has heard multiple jokes regarding what really comprises a committee.
-
Gene Bushuyev over 12 yearsThe support matrix doesn't tell you how buggy the implementations are though, and unfortunately all compilers I tested had problems in areas they claimed to support.
-
MSalters over 12 years@David: Not entirely true; quite a few bits of the new standard are just relabeled Boost components. We know from Boost that these parts can be implemented, i.e. the standard itself isn't buggy there.
-
David Hammen over 12 years@MSalters: I agree that Boost gives the new revision of the standard a big boost regarding bugs. OTOH, consider the STL. Some of the changes in the C++11 are bug fixes that arose from porting the STL to the original standard and were left intact in the 2003 supplement.
-
MSalters over 12 years@David: AFAICT those changes were not bugfixes, else they'd been in 2003, but improvements. You usually don't make improvements in a Corrigendum. The
std::vector
contiguity was an edge case; implementors thought they'd already had said that in '98. -
David Hammen over 12 years@MSalter: I'm thinking of the myriad of items that compiler vendors had to patch over in order to even make a product. For example, the items that GCC labels with a
_GLIBCXX_RESOLVE_LIB_DEFECTS
tag. -
Potatoswatter over 12 yearsNice! Hint to others: there are tabs at the bottom of the page.
-
Trass3r almost 12 yearsIts C++11 support is almost complete now.
-
maxpolk over 9 yearsIt's complete now, "Clang 3.3 and later implement all of the ISO C++ 2011 standard."