Difference between revisions of "C++14 support in compilers"
From KlayGE
Gongminmin (Talk | contribs) |
Gongminmin (Talk | contribs) |
||
(6 intermediate revisions by one user not shown) | |||
Line 4: | Line 4: | ||
! Language Feature !! Proposal !! MSVC !! GCC !! ICC !! Clang !! Alternative | ! Language Feature !! Proposal !! MSVC !! GCC !! ICC !! Clang !! Alternative | ||
|- | |- | ||
− | | Tweak to certain C++ contextual conversions || [http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2012/n3323.pdf N3323] || | + | | Tweak to certain C++ contextual conversions || [http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2012/n3323.pdf N3323] || {{Yes}}12.0 || {{Yes}}4.9 || {{Yes}}16.0 || {{Yes}}3.4 || |
|- | |- | ||
− | | Binary literals || [http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2012/n3472.pdf N3472] || | + | | Binary literals || [http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2012/n3472.pdf N3472] || {{Yes}}14.0 || {{Yes}}4.9 || {{Yes}}11.0 || {{Yes}}2.9 || |
|- | |- | ||
− | | Return type deduction for normal functions || [http://isocpp.org/files/papers/N3638.html N3638] || | + | | Return type deduction for normal functions || [http://isocpp.org/files/papers/N3638.html N3638] || {{Yes}}Nov 13 || {{Yes}}4.9 || {{Yes}}15.0 || {{Yes}}3.3 || |
|- | |- | ||
− | | | + | | Generalized lambda capture (init-capture) || [http://isocpp.org/files/papers/N3648.html N3648] || {{Yes}}14.0 || {{Yes}}4.9 || {{Yes}}15.0 || {{Yes}}3.4 || |
|- | |- | ||
− | | | + | | Generic (polymorphic) lambda expressions || [http://isocpp.org/files/papers/N3649.html N3649] || {{Yes}}Nov 13 || {{Yes}}4.9 || {{Yes}}16.0 || {{Yes}}3.4 || |
|- | |- | ||
− | | | + | | Variable templates || [http://isocpp.org/files/papers/N3651.pdf N3651] || {{Yes}}15.0 || {{Yes}}5.0 || {{No}}No || {{Yes}}3.4 || |
|- | |- | ||
− | | | + | | Relaxing requirements on constexpr functions || [http://isocpp.org/files/papers/N3652.html N3652] || {{Yes}}15.0 || {{Yes}}5.0 || {{No}}No || {{Yes}}3.4 || |
|- | |- | ||
− | | | + | | Member initializers and aggregates || [http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3653.html N3653] || {{Yes}}15.0 || {{Yes}}5.0 || {{Yes}}16.0 || {{Yes}}3.3 || |
|- | |- | ||
− | | | + | | Clarifying memory allocation || [http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3664.html N3664] || {{No}}No || {{No}}No || {{No}}No || {{Yes}}3.4 || |
|- | |- | ||
− | | | + | | Sized deallocation || [http://isocpp.org/files/papers/n3778.html N3778] || {{Yes}}14.0 || {{Yes}}5.0 || {{Yes}}17.0 || {{Yes}}3.4 || |
|- | |- | ||
− | | | + | | <nowiki>[[deprecated]]</nowiki> attribute || [http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3760.html N3760] || {{Yes}}14.0 || {{Yes}}4.9 || {{Yes}}16.0 || {{Yes}}3.4 || |
|- | |- | ||
− | + | | Single-quotation-mark as a digit separator || [http://isocpp.org/files/papers/N3781.pdf N3781] || {{Yes}}14.0 || {{Yes}}4.9 || {{Yes}}16.0 || {{Yes}}3.4 || | |
− | + | ||
− | | Single-quotation-mark as a digit separator || [http://isocpp.org/files/papers/N3781.pdf N3781] || | + | |
|} | |} | ||
== See Also == | == See Also == | ||
[[C++11 support in compilers]] | [[C++11 support in compilers]] | ||
+ | |||
+ | [[C++17 support in compilers]] | ||
== References == | == References == | ||
*[http://blogs.msdn.com/b/vcblog/archive/2013/11/18/announcing-the-visual-c-compiler-november-2013-ctp.aspx Announcing the Visual C++ Compiler November 2013 CTP] | *[http://blogs.msdn.com/b/vcblog/archive/2013/11/18/announcing-the-visual-c-compiler-november-2013-ctp.aspx Announcing the Visual C++ Compiler November 2013 CTP] | ||
+ | *[https://blogs.msdn.microsoft.com/vcblog/2016/10/11/c1417-features-and-stl-fixes-in-vs-15-preview-5/ C++14/17 Features and STL Fixes in VS “15” Preview 5] | ||
*[http://gcc.gnu.org/projects/cxx1y.html C++1y Support in GCC] | *[http://gcc.gnu.org/projects/cxx1y.html C++1y Support in GCC] | ||
*[http://clang.llvm.org/cxx_status.html C++98, C++11, and C++14 Support in Clang] | *[http://clang.llvm.org/cxx_status.html C++98, C++11, and C++14 Support in Clang] |
Latest revision as of 01:02, 2 January 2017
C++14 Core Language Features
Language Feature | Proposal | MSVC | GCC | ICC | Clang | Alternative |
---|---|---|---|---|---|---|
Tweak to certain C++ contextual conversions | N3323 | 12.0 | 4.9 | 16.0 | 3.4 | |
Binary literals | N3472 | 14.0 | 4.9 | 11.0 | 2.9 | |
Return type deduction for normal functions | N3638 | Nov 13 | 4.9 | 15.0 | 3.3 | |
Generalized lambda capture (init-capture) | N3648 | 14.0 | 4.9 | 15.0 | 3.4 | |
Generic (polymorphic) lambda expressions | N3649 | Nov 13 | 4.9 | 16.0 | 3.4 | |
Variable templates | N3651 | 15.0 | 5.0 | No | 3.4 | |
Relaxing requirements on constexpr functions | N3652 | 15.0 | 5.0 | No | 3.4 | |
Member initializers and aggregates | N3653 | 15.0 | 5.0 | 16.0 | 3.3 | |
Clarifying memory allocation | N3664 | No | No | No | 3.4 | |
Sized deallocation | N3778 | 14.0 | 5.0 | 17.0 | 3.4 | |
[[deprecated]] attribute | N3760 | 14.0 | 4.9 | 16.0 | 3.4 | |
Single-quotation-mark as a digit separator | N3781 | 14.0 | 4.9 | 16.0 | 3.4 |