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 MichaelWong: http://wiki.apache.org/stdcxx/C%2B%2B0xCompilerSupport?action=diff&rev1=99&rev2=100 Comment: updated with latest IBM xlC++ V12.1 just released 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]] ||[[https://www.ibm.com/developerworks/mydeveloperworks/blogs/5894415f-be62-4bc0-81c5-3956e82276f3/entry/xlc_compiler_s_c_11_support50?lang=en|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]] || || || || || || || || || ||3.0 || ||<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;">Atomic operations ||[[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2427.html|N2427]] || || ||4.4 || ||11.0 || || || || ||3.1 || ||<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 (V1.0) || || || ||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>> || || || || || || || - ||<style="text-align:left;">`constexpr` ||[[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2235.pdf|N2235]] || || ||4.6 ||13.0 || || || || || ||3.1 || + ||<style="text-align:left;">`constexpr` ||[[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2235.pdf|N2235]] || || ||4.6 ||13.0 || ||12.1|| || || ||3.1 || ||<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 (V1.0) || ||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;">Delegating Constructors ||[[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2006/n1986.pdf|N1986]] || || ||4.7 ||<<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 ||13.0 || || || ||Yes || ||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 ||13.0 || ||12.1|| ||Yes || ||3.0 || ||<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 || || || ||2.9 || ||<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;">Forward declarations for enums ||[[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2764.pdf|N2764]] || || ||4.6 || || || || || || ||3.1 || + ||<style="text-align:left;">Forward declarations for enums ||[[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2764.pdf|N2764]] || || ||4.6 || || ||12.1|| || || ||3.1 || ||<style="text-align:left;">Inheriting Constructors ||[[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2540.htm|N2540]] || || || ||<<BR>> || || || || || || || ||<style="text-align:left;">Initializer Lists ||[[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2672.htm|N2672]] || || ||4.4 ||13.0 || || || || || ||3.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(v1.1) ||11.0(v0.9)<<BR>>12.0(v1.0) ||10.0(v1.0), 11.0(v1.1) || || || || ||3.1 || @@ -25, +24 @@ ||<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 || || || ||2.9 || ||<style="text-align:left;">New character types ||[[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2249.html|N2249]] || || ||4.4 || || || || || || ||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;">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 ||12.1|| || || ||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;">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;">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;">User-defined Literals ||[[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2765.html|N2765]] || || ||4.7 || || || || || || ||3.1 || - ||<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 ||12.1|| || || ||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)<<BR>>4.5(v2.1)<<BR>>4.6(v3.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)<<BR>>4.5(v2.1)<<BR>>4.6(v3.0) ||11.1(v1.0)<<BR>>12.0(v2.0) ||10.0(v2.0), 11.0(v2.1) ||12.1(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;">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 ||12.1|| ||Yes || ||2.9 || ||<style="text-align:left;">Template aliases ||[[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2258.pdf|N2258]] || || ||4.7 ||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]] || || ||4.4**** ||11.1***<<BR>> ||10.0*** || ||5.9*** || || ||2.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 || @@ -44, +43 @@ ||<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;">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 || + + * — 1) unicode string literals is a feature of the EDG frontend, but it is undocumented at Intel C++ compiler (/Qoption,cpp,"--uliterals" option enables it) <<BR>>2) nullptr and nullptr_t supported with /Qoption,cpp,"--nullptr".