You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@stdcxx.apache.org by Apache Wiki <wi...@apache.org> on 2011/11/04 08:59:09 UTC

[Stdcxx Wiki] Update of "C++0xCompilerSupport" by Miles Bader

Dear Wiki user,

You have subscribed to a wiki page or wiki category on "Stdcxx Wiki" for change notification.

The "C++0xCompilerSupport" page has been changed by Miles Bader:
http://wiki.apache.org/stdcxx/C%2B%2B0xCompilerSupport?action=diff&rev1=72&rev2=73

Comment:
clang supports attributes

  The following table lists C++0x features and their support in popular compilers.
- ||||||||||||||||||||||||<tablewidth="1201px" tableheight="925px" tablestyle="text-align: center;"style="text-align: center;">Status Of C++ 0x Language Features in Compilers ||
+ ||||||||||||||||||||||||<tablewidth="1201px" tableheight="925px" tablestyle="text-align:center; "style="text-align:center;">Status Of C++ 0x Language Features in Compilers ||
- ||<rowbgcolor="powderblue" rowstyle="font-weight: bold;">C++ 0x FEATURE ||<12%>PAPER(S) ||HP aCC ||EDG eccp ||[[http://gcc.gnu.org/projects/cxx0x.html|GCC]] ||[[http://software.intel.com/en-us/articles/c0x-features-supported-by-intel-c-compiler/|Intel C++]] ||[[http://blogs.msdn.com/b/vcblog/archive/2011/09/12/10209291.aspx|MSVC]] ||[[http://www.ibm.com/software/awdtools/xlcpp/aix/features/?S_CMP=rnav|IBM XLC++]] ||Sun/ Oracle C++ ||C++ Builder 2009/10 ||Digital Mars C++ ||[[http://clang.llvm.org/cxx_status.html|Clang]] ||
+ ||<rowbgcolor="powderblue" rowstyle="font-weight:bold; ">C++ 0x FEATURE ||<12%>PAPER(S) ||HP aCC ||EDG eccp ||[[http://gcc.gnu.org/projects/cxx0x.html|GCC]] ||[[http://software.intel.com/en-us/articles/c0x-features-supported-by-intel-c-compiler/|Intel C++]] ||[[http://blogs.msdn.com/b/vcblog/archive/2011/09/12/10209291.aspx|MSVC]] ||[[http://www.ibm.com/software/awdtools/xlcpp/aix/features/?S_CMP=rnav|IBM XLC++]] ||Sun/ Oracle C++ ||C++ Builder 2009/10 ||Digital Mars C++ ||[[http://clang.llvm.org/cxx_status.html|Clang]] ||
- ||<style="text-align: left;">`alignas` ||[[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2341.pdf|N2341]] || || || || || || || || || || ||
+ ||<style="text-align:left;">`alignas` ||[[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2341.pdf|N2341]] || || || || || || || || || || ||
- ||<style="text-align: left;">`alignof` ||[[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2341.pdf|N2341]] || || ||4.5 || || || || ||Yes || ||2.9 ||
+ ||<style="text-align:left;">`alignof` ||[[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2341.pdf|N2341]] || || ||4.5 || || || || ||Yes || ||2.9 ||
- ||<style="text-align: left;">`auto` ||v0.9: [[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2006/n1984.pdf|N1984]], v1.0: [[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2546.htm|N2546]] || ||4.1(v0.9) ||4.4(v1.0) ||11.0(v0.9) ||10.0(v0.9) ||11.1 || || || ||Yes ||
+ ||<style="text-align:left;">`auto` ||v0.9: [[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2006/n1984.pdf|N1984]], v1.0: [[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2546.htm|N2546]] || ||4.1(v0.9) ||4.4(v1.0) ||11.0(v0.9) ||10.0(v0.9) ||11.1 || || || ||Yes ||
- ||<style="text-align: left;">C99 preprocessor ||[[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2004/n1653.htm|N1653]] || || ||4.3 ||11.1 || ||10.1 ||5.9 || ||Yes ||Yes ||
+ ||<style="text-align:left;">C99 preprocessor ||[[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2004/n1653.htm|N1653]] || || ||4.3 ||11.1 || ||10.1 ||5.9 || ||Yes ||Yes ||
- ||<rowbgcolor="lightgray"style="text-align: left;">''Concepts ^[removed]^'' ||[[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2617.pdf|N2617]] || || ||ConceptGcc ||<<BR>> || || || || || || ||
+ ||<rowbgcolor="lightgray"style="text-align:left;">''Concepts ^[removed]^'' ||[[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2617.pdf|N2617]] || || ||ConceptGcc ||<<BR>> || || || || || || ||
- ||<style="text-align: left;">`constexpr` ||[[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2235.pdf|N2235]] || || ||4.5 ||<<BR>> || || || || || || ||
+ ||<style="text-align:left;">`constexpr` ||[[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2235.pdf|N2235]] || || ||4.5 ||<<BR>> || || || || || || ||
- ||<style="text-align: left;">`decltype` ||v1.0: [[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2343.pdf|N2343]], v1.1: [[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2011/n3276.pdf|N3276]] || ||4.1(v1.0) ||4.3(v1.0) ||11.0(v1.0) ||10.0(v1.0), 11.0(v1.1) ||11.1 || ||Yes || ||2.9 ||
+ ||<style="text-align:left;">`decltype` ||v1.0: [[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2343.pdf|N2343]], v1.1: [[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2011/n3276.pdf|N3276]] || ||4.1(v1.0) ||4.3(v1.0) ||11.0(v1.0) ||10.0(v1.0), 11.0(v1.1) ||11.1 || ||Yes || ||2.9 ||
- ||<style="text-align: left;">Defaulted And Deleted Functions ||[[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2346.htm|N2346]] || ||4.1 ||4.4 ||12.0 || || || || || ||3.0 ||
+ ||<style="text-align:left;">Defaulted And Deleted Functions ||[[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2346.htm|N2346]] || ||4.1 ||4.4 ||12.0 || || || || || ||3.0 ||
- ||<style="text-align: left;">Delegating Constructors ||[[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2006/n1986.pdf|N1986]] || || ||(p)** ||<<BR>> || ||11.1 || || || ||3.0 ||
+ ||<style="text-align:left;">Delegating Constructors ||[[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2006/n1986.pdf|N1986]] || || ||(p)** ||<<BR>> || ||11.1 || || || ||3.0 ||
- ||<style="text-align: left;">Explicit conversion operators ||[[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2437.pdf|N2437]] || || ||4.5 ||<<BR>> || || || ||Yes || || ||
+ ||<style="text-align:left;">Explicit conversion operators ||[[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2437.pdf|N2437]] || || ||4.5 ||<<BR>> || || || ||Yes || || ||
- ||<style="text-align: left;">Extended `friend` Declarations ||[[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2005/n1791.pdf|N1791]] || ||4.1 ||4.7 ||11.0 ||10.0*** ||V1R11,11.1 || || || || ||
+ ||<style="text-align:left;">Extended `friend` Declarations ||[[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2005/n1791.pdf|N1791]] || ||4.1 ||4.7 ||11.0 ||10.0*** ||V1R11,11.1 || || || || ||
- ||<style="text-align: left;">`extern template` ||[[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2006/n1987.htm|N1987]] ||3, 5, 6 || ||3.3 ||9 ||6.0 ||V1R11,11.1 || ||Yes || ||Yes ||
+ ||<style="text-align:left;">`extern template` ||[[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2006/n1987.htm|N1987]] ||3, 5, 6 || ||3.3 ||9 ||6.0 ||V1R11,11.1 || ||Yes || ||Yes ||
- ||<style="text-align: left;">Inheriting Constructors ||[[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2540.htm|N2540]] || || || ||<<BR>> || || || || || ||3.0 ||
+ ||<style="text-align:left;">Inheriting Constructors ||[[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2540.htm|N2540]] || || || ||<<BR>> || || || || || ||3.0 ||
- ||<style="text-align: left;">Initializer Lists ||[[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2672.htm|N2672]] || || ||4.4 ||<<BR>> || || || || || || ||
+ ||<style="text-align:left;">Initializer Lists ||[[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2672.htm|N2672]] || || ||4.4 ||<<BR>> || || || || || || ||
- ||<style="text-align: left;">Lambda expressions and closures ||v0.9: [[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2550.pdf|N2550]], v1.0: [[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2658.pdf|N2658]], v1.1: [[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2009/n2927.pdf|N2927]] || ||4.1(v0.9) ||4.5(v0.9) ||11.0(v0.9)<<BR>>12.0(v1.0) ||10.0(v1.0), 11.0(v1.1) || || || || || ||
+ ||<style="text-align:left;">Lambda expressions and closures ||v0.9: [[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2550.pdf|N2550]], v1.0: [[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2658.pdf|N2658]], v1.1: [[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2009/n2927.pdf|N2927]] || ||4.1(v0.9) ||4.5(v0.9) ||11.0(v0.9)<<BR>>12.0(v1.0) ||10.0(v1.0), 11.0(v1.1) || || || || || ||
- ||<style="text-align: left;">Local and Unnamed Types as Template Arguments ||[[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2657.htm|N2657]] || || ||4.5 ||12.0 ||10.0 || || || || || ||
+ ||<style="text-align:left;">Local and Unnamed Types as Template Arguments ||[[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2657.htm|N2657]] || || ||4.5 ||12.0 ||10.0 || || || || || ||
- ||<style="text-align: left;">`long long` ||[[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2005/n1811.pdf|N1811]] ||Yes ||Yes ||Yes ||Yes ||Yes ||Yes ||Yes ||Yes ||Yes ||Yes ||
+ ||<style="text-align:left;">`long long` ||[[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2005/n1811.pdf|N1811]] ||Yes ||Yes ||Yes ||Yes ||Yes ||Yes ||Yes ||Yes ||Yes ||Yes ||
- ||<style="text-align: left;">Namespace Association ||[[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2535.html|N2535]] || || ||4.4 ||<<BR>> || ||11.1 || || || || ||
+ ||<style="text-align:left;">Namespace Association ||[[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2535.html|N2535]] || || ||4.4 ||<<BR>> || ||11.1 || || || || ||
- ||<style="text-align: left;">New function declaration syntax for deduced return types ||[[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2541.htm|N2541]] || ||4.1 ||4.4 ||12.1 ||10.0 || || || || ||2.9 ||
+ ||<style="text-align:left;">New function declaration syntax for deduced return types ||[[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2541.htm|N2541]] || ||4.1 ||4.4 ||12.1 ||10.0 || || || || ||2.9 ||
- ||<style="text-align: left;">`nullptr` ||[[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2431.pdf|N2431]] || || ||4.6 ||12.1* ||10.0 || || || || ||2.9 ||
+ ||<style="text-align:left;">`nullptr` ||[[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2431.pdf|N2431]] || || ||4.6 ||12.1* ||10.0 || || || || ||2.9 ||
- ||<style="text-align: left;">Raw String Literals ||[[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2442.html|N2442]] || || ||4.5 ||<<BR>> || || || || || ||Yes ||
+ ||<style="text-align:left;">Raw String Literals ||[[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2442.html|N2442]] || || ||4.5 ||<<BR>> || || || || || ||Yes ||
- ||<style="text-align: left;">Unicode String Literals ||[[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2442.html|N2442]] || || ||4.4 ||11.0* || || ||5.7 ||Yes || ||3.0 ||
+ ||<style="text-align:left;">Unicode String Literals ||[[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2442.html|N2442]] || || ||4.4 ||11.0* || || ||5.7 ||Yes || ||3.0 ||
- ||<style="text-align: left;">Right Angle Brackets ||[[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2005/n1757.html|N1757]] || ||4.1 ||4.3 ||11.0 ||8.0 || || || || ||Yes ||
+ ||<style="text-align:left;">Right Angle Brackets ||[[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2005/n1757.html|N1757]] || ||4.1 ||4.3 ||11.0 ||8.0 || || || || ||Yes ||
- ||<style="text-align: left;">R-Value References ||v1.0: [[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2006/n2118.html|N2118]], v2.0: [[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2009/n2844.html|N2844]], v2.1: [[http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1138|N2844+]], v3.0: [[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2010/n3053.html|N3053]] || ||4.1(v1.0) ||4.3(v1.0) ||11.1(v1.0)<<BR>>12.0(v2.0) ||10.0(v2.0), 11.0(v2.1) || || ||Yes || ||Yes ||
+ ||<style="text-align:left;">R-Value References ||v1.0: [[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2006/n2118.html|N2118]], v2.0: [[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2009/n2844.html|N2844]], v2.1: [[http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1138|N2844+]], v3.0: [[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2010/n3053.html|N3053]] || ||4.1(v1.0) ||4.3(v1.0) ||11.1(v1.0)<<BR>>12.0(v2.0) ||10.0(v2.0), 11.0(v2.1) || || ||Yes || ||Yes ||
- ||<style="text-align: left;">`static_assert` ||[[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2004/n1720.html|N1720]] || ||4.1 ||4.3 ||11.0 ||10.0 ||11.1 || ||Yes || ||2.9 ||
+ ||<style="text-align:left;">`static_assert` ||[[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2004/n1720.html|N1720]] || ||4.1 ||4.3 ||11.0 ||10.0 ||11.1 || ||Yes || ||2.9 ||
- ||<style="text-align: left;">Strongly-typed `enum`s ||[[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2347.pdf|N2347]] || || ||4.4 ||12.0 ||11.0 || || ||Yes || ||2.9 ||
+ ||<style="text-align:left;">Strongly-typed `enum`s ||[[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2347.pdf|N2347]] || || ||4.4 ||12.0 ||11.0 || || ||Yes || ||2.9 ||
- ||<style="text-align: left;">Template aliases ||[[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2258.pdf|N2258]] || || ||(p)** ||12.1 || || || || || ||3.0 ||
+ ||<style="text-align:left;">Template aliases ||[[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2258.pdf|N2258]] || || ||(p)** ||12.1 || || || || || ||3.0 ||
- ||<style="text-align: left;">Thread-Local Storage ||[[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2659.html|N2659]] || || || ||11.1***<<BR>> ||10.0*** || ||5.9*** || || || ||
+ ||<style="text-align:left;">Thread-Local Storage ||[[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2659.html|N2659]] || || || ||11.1***<<BR>> ||10.0*** || ||5.9*** || || || ||
- ||<style="text-align: left;">Unrestricted Unions ||[[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2544.pdf|N2544]] || || ||4.6 ||<<BR>> || || || || || ||3.0 ||
+ ||<style="text-align:left;">Unrestricted Unions ||[[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2544.pdf|N2544]] || || ||4.6 ||<<BR>> || || || || || ||3.0 ||
- ||<style="text-align: left;">Built-in Type Traits ||[[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2005/n1836.pdf|N1836]] ||6.16 ||4.0 ||4.3 ||10.0 ||8.0 || || ||Yes || || ||
+ ||<style="text-align:left;">Built-in Type Traits ||[[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2005/n1836.pdf|N1836]] ||6.16 ||4.0 ||4.3 ||10.0 ||8.0 || || ||Yes || || ||
- ||<style="text-align: left;">Variadic Templates ||v0.9: [[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2242.pdf|N2242]], v1.0: [[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2555.pdf|N2555]] || ||4.1(v0.9) ||4.3(v0.9) ||12.1(v0.9) || ||11.1 || || || ||Yes ||
+ ||<style="text-align:left;">Variadic Templates ||v0.9: [[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2242.pdf|N2242]], v1.0: [[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2555.pdf|N2555]] || ||4.1(v0.9) ||4.3(v0.9) ||12.1(v0.9) || ||11.1 || || || ||Yes ||
- ||<style="text-align: left;">Range-based for-loop ||[[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2009/n2930.html|N2930]] || || ||4.6 || || || || || || ||3.0 ||
+ ||<style="text-align:left;">Range-based for-loop ||[[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2009/n2930.html|N2930]] || || ||4.6 || || || || || || ||3.0 ||
- ||<style="text-align: left;">override and final ||v0.8: [[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2009/n2928.htm|N2928]], v0.9: [[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2010/n3206.htm|N3206]], v1.0: [[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2011/n3272.htm|N3272]] || || ||4.7 ||12.0(v0.8)*** ||10.0(v0.8)*** || || || || ||2.9 ||
+ ||<style="text-align:left;">override and final ||v0.8: [[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2009/n2928.htm|N2928]], v0.9: [[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2010/n3206.htm|N3206]], v1.0: [[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2011/n3272.htm|N3272]] || || ||4.7 ||12.0(v0.8)*** ||10.0(v0.8)*** || || || || ||2.9 ||
- ||<style="text-align: left;">Attributes ||[[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2761.pdf|N2761]] || || || ||12.1 || || || || || || ||
+ ||<style="text-align:left;">Attributes ||[[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2761.pdf|N2761]] || || || ||12.1 || || || || || ||2.9||
- ||<style="text-align: left;">ref-qualifiers ||[[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2439.htm|N2439]] || || || || || || || || || ||2.9 ||
+ ||<style="text-align:left;">ref-qualifiers ||[[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2439.htm|N2439]] || || || || || || || || || ||2.9 ||
- ||<style="text-align: left;">Non-static data member initializers ||[[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2756.htm|N2756]] || || ||4.7 || || || || || || ||3.0 ||
+ ||<style="text-align:left;">Non-static data member initializers ||[[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2756.htm|N2756]] || || ||4.7 || || || || || || ||3.0 ||