Difference between revisions of "C++14 support in compilers"
From KlayGE
Gongminmin (Talk | contribs) |
Gongminmin (Talk | contribs) |
||
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 || {{No}}No || {{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 || |
|- | |- | ||
− | | Runtime-sized arrays with automatic storage duration || [http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3639.html N3639] || No || | + | | Runtime-sized arrays with automatic storage duration || [http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3639.html N3639] || {{No}}No || {{Yes}}4.9 || {{No}}No || {{No}}No || |
|- | |- | ||
− | | Generalized lambda capture (init-capture) || [http://isocpp.org/files/papers/N3648.html N3648] || | + | | 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] || | + | | Generic (polymorphic) lambda expressions || [http://isocpp.org/files/papers/N3649.html N3649] || {{Yes}}Nov 13 || {{Yes}}4.9 || {{No}}No || {{Yes}}3.4 || |
|- | |- | ||
− | | Variable templates || [http://isocpp.org/files/papers/N3651.pdf N3651] || No || No || No || | + | | Variable templates || [http://isocpp.org/files/papers/N3651.pdf N3651] || {{No}}No || {{No}}No || {{No}}No || {{Yes}}3.4 || |
|- | |- | ||
− | | Relaxing requirements on constexpr functions || [http://isocpp.org/files/papers/N3652.html N3652] || No || No || No || | + | | Relaxing requirements on constexpr functions || [http://isocpp.org/files/papers/N3652.html N3652] || {{No}}No || {{No}}No || {{No}}No || {{Yes}}3.4 || |
|- | |- | ||
− | | Member initializers and aggregates || [http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3653.html N3653] || No || No || No || | + | | Member initializers and aggregates || [http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3653.html N3653] || {{No}}No || {{No}}No || {{No}}No || {{Yes}}3.3 || |
|- | |- | ||
− | | Clarifying memory allocation || [http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3664.html N3664] || No || No || No || | + | | 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] || | + | | Sized deallocation || [http://isocpp.org/files/papers/n3778.html N3778] || {{Yes}}14.0 || {{No}}No || {{No}}No || {{Yes}}3.4 || |
|- | |- | ||
− | | <nowiki>[[deprecated]]</nowiki> attribute || [http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3760.html N3760] || | + | | <nowiki>[[deprecated]]</nowiki> attribute || [http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3760.html N3760] || {{Yes}}14.0 || {{Yes}}4.9 || {{No}}No || {{Yes}}3.4 || |
|- | |- | ||
− | | Single-quotation-mark as a digit separator || [http://isocpp.org/files/papers/N3781.pdf N3781] || | + | | Single-quotation-mark as a digit separator || [http://isocpp.org/files/papers/N3781.pdf N3781] || {{Yes}}14.0 || {{Yes}}4.9 || {{No}}No || {{Yes}}3.4 || |
|} | |} | ||
Revision as of 01:53, 24 May 2015
C++14 Core Language Features
Language Feature | Proposal | MSVC | GCC | ICC | Clang | Alternative |
---|---|---|---|---|---|---|
Tweak to certain C++ contextual conversions | N3323 | 12.0 | 4.9 | No | 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 | |
Runtime-sized arrays with automatic storage duration | N3639 | No | 4.9 | No | No | |
Generalized lambda capture (init-capture) | N3648 | 14.0 | 4.9 | 15.0 | 3.4 | |
Generic (polymorphic) lambda expressions | N3649 | Nov 13 | 4.9 | No | 3.4 | |
Variable templates | N3651 | No | No | No | 3.4 | |
Relaxing requirements on constexpr functions | N3652 | No | No | No | 3.4 | |
Member initializers and aggregates | N3653 | No | No | No | 3.3 | |
Clarifying memory allocation | N3664 | No | No | No | 3.4 | |
Sized deallocation | N3778 | 14.0 | No | No | 3.4 | |
[[deprecated]] attribute | N3760 | 14.0 | 4.9 | No | 3.4 | |
Single-quotation-mark as a digit separator | N3781 | 14.0 | 4.9 | No | 3.4 |