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.

Share:
31,596

Related videos on Youtube

dsimcha
Author by

dsimcha

Updated on July 09, 2022

Comments

  • dsimcha
    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
      Security Hound over 12 years
      C++ 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
      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
      Bo Persson over 12 years
      It's worse than deprecated, it was just removed from the standard!
  • dsimcha
    dsimcha over 12 years
    Thanks, 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
    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
    Gene Bushuyev over 12 years
    The 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
    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
    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
    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
    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
    Potatoswatter over 12 years
    Nice! Hint to others: there are tabs at the bottom of the page.
  • Trass3r
    Trass3r almost 12 years
    Its C++11 support is almost complete now.
  • maxpolk
    maxpolk over 9 years
    It's complete now, "Clang 3.3 and later implement all of the ISO C++ 2011 standard."