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] || {{Yes}}12.0 || {{Yes}}4.9 || {{ | + | | 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] || {{Yes}}14.0 || {{Yes}}4.9 || {{Yes}}11.0 || {{Yes}}2.9 || | | 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 || | ||
Line 12: | Line 12: | ||
| 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 || | | 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 || {{ | + | | 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 || | | Variable templates || [http://isocpp.org/files/papers/N3651.pdf N3651] || {{Yes}}15.0 || {{Yes}}5.0 || {{No}}No || {{Yes}}3.4 || | ||
Line 18: | Line 18: | ||
| Relaxing requirements on constexpr functions || [http://isocpp.org/files/papers/N3652.html N3652] || {{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 || {{ | + | | 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 || | | 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 || {{ | + | | 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 || {{ | + | | <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 || {{ | + | | 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 || |
|} | |} | ||
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 |