Difference between revisions of "C++14 support in compilers"

From KlayGE
Jump to: navigation, search
Line 9: Line 9:
 
|-
 
|-
 
| 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 ||
 
| 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}}No || {{Yes}}4.9 || {{No}}No || {{No}}No ||
 
 
|-
 
|-
 
| 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 ||
Line 16: Line 14:
 
| Generic (polymorphic) lambda expressions || [http://isocpp.org/files/papers/N3649.html N3649] || {{Yes}}Nov 13 || {{Yes}}4.9 || {{No}}No || {{Yes}}3.4 ||
 
| 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 || {{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 ||
 
|-
 
|-
| Relaxing requirements on constexpr functions || [http://isocpp.org/files/papers/N3652.html N3652] || {{No}}No || {{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] || {{No}}No || {{Yes}}5.0 || {{No}}No || {{Yes}}3.3 ||
+
| Member initializers and aggregates || [http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3653.html N3653] || {{Yes}}15.0 || {{Yes}}5.0 || {{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}}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 ||

Revision as of 00:56, 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 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
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 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 No 3.3
Clarifying memory allocation N3664 No No No 3.4
Sized deallocation N3778 14.0 5.0 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

See Also

C++11 support in compilers

C++17 support in compilers

References