You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/error-messages/compiler-warnings/compiler-warnings-by-compiler-version.md
+1-1Lines changed: 1 addition & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -37,7 +37,7 @@ These versions of the compiler introduced new warnings:
37
37
| Visual Studio 2019 version 16.4 | 19.24.28314.0 |
38
38
| Visual Studio 2019 version 16.5 | 19.25.28610.0 |
39
39
| Visual Studio 2019 version 16.6 | 19.26.28805.0 |
40
-
| Visual Studio 2019 version 16.7 | 19.26.29112.0 |
40
+
| Visual Studio 2019 version 16.7 | 19.27.29112.0 |
41
41
42
42
You can specify only the major number, the major and minor numbers, or the major, minor, and build numbers to the **`/Wv`** option. The compiler reports all warnings that match versions that begin with the specified number. It suppresses all warnings for versions greater than the specified number. For example, **`/Wv:17`** reports warnings introduced in or before any version of Visual Studio 2012, and suppresses warnings introduced by any compiler from Visual Studio 2013 (version 18) or later. To suppress warnings introduced in Visual Studio 2015 update 2 and later, you can use **`/Wv:19.00.23506`**. Use **`/Wv:19.11`** to report the warnings introduced in any version of Visual Studio before Visual Studio 2017 version 15.5, but suppress warnings introduced in Visual Studio 2017 version 15.5 and later.
Copy file name to clipboardExpand all lines: docs/overview/visual-cpp-language-conformance.md
+36-33Lines changed: 36 additions & 33 deletions
Original file line number
Diff line number
Diff line change
@@ -1,7 +1,7 @@
1
1
---
2
2
title: "Microsoft C++ language conformance table"
3
3
description: "Table of Microsoft C++ conformance updates by Visual Studio version."
4
-
ms.date: 08/06/2020
4
+
ms.date: 11/10/2020
5
5
ms.technology: "cpp-language"
6
6
ms.assetid: 475da6e9-0d78-4b4e-bd23-f41c406c4efe
7
7
author: "corob-msft"
@@ -86,11 +86,11 @@ For details on Visual Studio 2017 or Visual Studio 2019 MSVC conformance improve
86
86
| [`P0588R1 Simplifying implicit lambda capture`](https://wg21.link/p0588r1)| VS 2019 16.4 <sup>[17](#note_17)</sup> |
87
87
| [`P1771R1 [[nodiscard]] for constructors`](https://wg21.link/p1771r1)| VS 2019 16.4 <sup>[17](#note_17)</sup> |
88
88
| [`P1825R0 Merged wording for P0527R1 and P1155R3, more implicit moves`](https://wg21.link/p1825r0)| VS 2019 16.4 <sup>[17](#note_17)</sup> |
89
-
| [`P0929R2 Checking for abstract class types`](https://wg21.link/P0929R2)|No|
90
-
| [`P0962R2 Relaxing the range-for loop customization point finding rules`](https://wg21.link/p0962r1)|No|
89
+
| [`P0929R2 Checking for abstract class types`](https://wg21.link/P0929R2)|VS 2019 16.5 <sup>[17](#note_17)</sup>|
90
+
| [`P0962R2 Relaxing the range-for loop customization point finding rules`](https://wg21.link/p0962r1)|VS 2019 16.5 <sup>[17](#note_17)</sup>|
91
91
| [`P0859R0 CWG 1581: When are constexpr member functions defined`](https://wg21.link/p0859r0)| No |
92
-
| [`P1009R2 Array size deduction in new-expressions`](https://wg21.link/P1009R2)|No|
93
-
| [`P1286R2 Contra CWG DR1778`](https://wg21.link/P1286R2)|No|
92
+
| [`P1009R2 Array size deduction in new-expressions`](https://wg21.link/P1009R2)|VS 2019 16.7 <sup>[17](#note_17)</sup>|
93
+
| [`P1286R2 Contra CWG DR1778`](https://wg21.link/P1286R2)|VS 2019 16.8 <sup>[17](#note_17)</sup>|
94
94
|__C++20 Core language features__|__Supported__|
95
95
| [`P0704R1 Fixing const lvalue ref-qualified pointers to members`](https://wg21.link/p0704r1)| VS 2015 <sup>[14](#note_14)</sup> |
96
96
| [`P1041R4 Make char16_t/char32_t string literals be UTF-16/32`](https://wg21.link/P1041R4)| VS 2015 <sup>[14](#note_14)</sup> |
@@ -131,6 +131,7 @@ For details on Visual Studio 2017 or Visual Studio 2019 MSVC conformance improve
131
131
| [`P1907R1 Inconsistencies with non-type template parameters`](https://wg21.link/P1907R1)| VS 2019 16.6 <sup>[20](#note_20)</sup> |
132
132
| [`P1971R0 US053: Mandate the return type for return_void and return_value to be void`](https://wg21.link/P1971R0)| VS 2019 16.6 <sup>[20](#note_20)</sup> |
133
133
| [`P1971R0 US065: Apply Coroutines issue 24 from P0664R8`](https://wg21.link/P1971R0)| VS 2019 16.6 <sup>[20](#note_20)</sup> |
134
+
| [`P1979R0 Resolution to US086`](https://wg21.link/P1979R0)| VS 2019 16.6 <sup>[20](#note_20)</sup> |
134
135
| [`P0388R4 Permit conversions to arrays of unknown bound`](https://wg21.link/P0388R4)| VS 2019 16.7 <sup>[20](#note_20)</sup> |
135
136
| [`P0466R5 Layout-compatibility and Pointer-interconvertibility Traits`](https://wg21.link/P0466R5)| VS 2019 16.7 <sup>[20](#note_20)</sup> |
136
137
| [`P0722R3 Efficient sized delete for variable sized classes`](https://wg21.link/P0722R3)| VS 2019 16.7 <sup>[20](#note_20)</sup> |
@@ -148,35 +149,34 @@ For details on Visual Studio 2017 or Visual Studio 2019 MSVC conformance improve
148
149
| [`P1969R0 CWG 2382: Array allocation overhead for non-allocating placement new`](https://wg21.link/p1969r0#2382)| VS 2019 16.7 <sup>[20](#note_20)</sup> |
149
150
| [`P1969R0 CWG 2441: Inline function parameters`](https://wg21.link/p1969r0#2441)| VS 2019 16.7 <sup>[20](#note_20)</sup> |
150
151
| [`P1971R0 US052: Non-executed return statements in coroutines`](https://wg21.link/P1971R0)| VS 2019 16.7 <sup>[20](#note_20)</sup> |
152
+
| [`P1972R0 US105: Check satisfaction of constraints for non-templates when forming pointer to function`](https://wg21.link/P1972R0)| VS 2019 16.7 <sup>[20](#note_20)</sup> |
153
+
| [`P1980R0 CA096: Declaration matching for non-dependent requires-clauses`](https://wg21.link/P1980R0)| VS 2019 16.7 <sup>[20](#note_20)</sup> |
151
154
| [`P2082R1 Fixing CTAD for aggregates`](https://wg21.link/P2082R1)| VS 2019 16.7 <sup>[20](#note_20)</sup> |
152
155
| [`P2085R0 Consistent defaulted comparisons`](https://wg21.link/P2085R0)| VS 2019 16.7 <sup>[20](#note_20)</sup> |
| [`P2107R0 US064: Copy semantics of coroutine parameters`](https://wg21.link/P2107R0)| VS 2019 16.7 <sup>[20](#note_20)</sup> |
158
+
| [`P0912R5 Coroutines`](https://wg21.link/P0912R5)| VS 2019 16.8 <sup>[20](#note_20)</sup> |
159
+
| [`P1103R3 Modules`](https://wg21.link/P1103R3)| VS 2019 16.8 <sup>[20](#note_20)</sup> |
160
+
| [`P0315R4 Allowing lambdas in unevaluated contexts`](https://wg21.link/P0315R4)| VS 2019 16.8 <sup>[20](#note_20)</sup> |
161
+
| [`P0848R3 Conditionally trivial special member functions`](https://wg21.link/P0848R3)| VS 2019 16.8 <sup>[20](#note_20)</sup> |
162
+
| [`P0960R3 Allow initializing aggregates from a parenthesized list of values`](https://wg21.link/P0960R3)| VS 2019 16.8 <sup>[20](#note_20)</sup> |
163
+
| [`P1766R1 Mitigating minor modules maladies`](https://wg21.link/P1766R1)| VS 2019 16.8 <sup>[20](#note_20)</sup> |
164
+
| [`P1811R0 Relaxing redefinition restrictions for re-exportation robustness`](https://wg21.link/P1811R0)| VS 2019 16.8 <sup>[20](#note_20)</sup> |
165
+
| [`P1874R1 Dynamic Initialization Order of Non-Local Variables in Modules`](https://wg21.link/P1874R1)| VS 2019 16.8 <sup>[20](#note_20)</sup> |
166
+
| [`P1975R0 Fixing the wording of parenthesized aggregate-initialization`](https://wg21.link/P1975R0)| VS 2019 16.8 <sup>[20](#note_20)</sup> |
155
167
| [`P0641R2 const mismatch with defaulted copy constructor`](https://wg21.link/P0641R2)| Partial |
| [`P1964R2 Replacing boolean With boolean-testable`](https://wg21.link/P1964R2)| VS 2019 16.7 <sup>[20](#note_20)</sup> |
253
255
| [`P1976R2 Fixed-size span construction from dynamic range`](https://wg21.link/P1976R2)| VS 2019 16.7 <sup>[20](#note_20)</sup> |
254
256
| [`P2091R0 Issues with range access CPOs`](https://wg21.link/P2091R0)| VS 2019 16.7 <sup>[20](#note_20)</sup> |
255
257
| [`P2102R0 Make "implicit expression variations" more explicit`](https://wg21.link/P2102R0)| VS 2019 16.7 <sup>[20](#note_20)</sup> |
256
258
| [`P2116R0 Remove tuple-like protocol support from fixed-extent span`](https://wg21.link/P2116R0)| VS 2019 16.7 <sup>[20](#note_20)</sup> |
257
-
| [`P0019R8 atomic_ref`](https://wg21.link/P0019R8)| No |
259
+
| [`P0019R8 atomic_ref`](https://wg21.link/P0019R8)| VS 2019 16.8 <sup>[20](#note_20)</sup> |
260
+
| [`P0528R3 Library support for atomic compare-and-exchange with padding bits`](https://wg21.link/P0528R3)| VS 2019 16.8 <sup>[20](#note_20)</sup> |
261
+
| [`P0811R3 midpoint(), lerp()`](https://wg21.link/P0811R3)| Partial in VS 2019 16.3, complete in 16.8 <sup>[20](#note_20)</sup> |
262
+
| [`P0912R5 Library Support For Coroutines`](https://wg21.link/P0912R5)| VS 2019 16.8 <sup>[20](#note_20)</sup> |
263
+
| [`P1001R2 execution::unseq`](https://wg21.link/P1001R2)| VS 2019 16.8 <sup>[20](#note_20)</sup> |
264
+
| [`P1032R1 Miscellaneous constexpr`](https://wg21.link/P1032R1)| VS 2019 16.8 <sup>[20](#note_20)</sup> |
265
+
| [`P1065R2 constexpr INVOKE`](https://wg21.link/P1065R2)| VS 2019 16.8 <sup>[20](#note_20)</sup> |
266
+
| [`P1123R0 Editorial Guidance for merging P0019r8 and P0528r3`](https://wg21.link/P1123R0)| VS 2019 16.8 <sup>[20](#note_20)</sup> |
267
+
| [`P1135R6 The C++20 Synchronization Library`](https://wg21.link/P1135R6)| VS 2019 16.8 <sup>[20](#note_20)</sup> |
268
+
| [`P1960R0 NB Comment Changes Reviewed by SG1`](https://wg21.link/P1960R0)| VS 2019 16.8 <sup>[20](#note_20)</sup> |
258
269
| [`P0053R7 <syncstream>`](https://wg21.link/p0053r7)<br/> [`P0753R2 osyncstream Manipulators`](https://wg21.link/p0753r2)| No |
259
270
| [`P0339R6 polymorphic_allocator<>`](https://wg21.link/P0339R6)| No |
260
271
| [`P0355R7 <chrono> Calendars And Time Zones`](https://wg21.link/p0355r7)| No |
261
272
| [`P0408R7 Efficient access To basic_stringbuf's buffer`](https://wg21.link/p0408r7)| No |
262
273
| [`P0466R5 Library support for layout-compatibility and pointer-interconvertibility traits`](https://wg21.link/p0466r5)| No |
263
274
| [`P0475R1 Guaranteed Copy Elision For Piecewise Construction`](https://wg21.link/P0475R1)| No |
264
-
| [`P0528R3 Library support for atomic compare-and-exchange with padding bits`](https://wg21.link/P0528R3)| No |
265
-
| [`P0551R3 Thou Shalt Not Specialize std Function Templates!`](https://wg21.link/P0551R3)| No |
266
-
| [`P0586R2 Integer comparison functions`](https://wg21.link/P0586R2)| No |
267
275
| [`P0591R4 Utility Functions For Uses-Allocator Construction`](https://wg21.link/P0591R4)| No |
268
276
| [`P0608R3 Improving variant's Converting Constructor/Assignment`](https://wg21.link/P0608R3)| No |
269
277
| [`P0645R10 <format> Text Formatting`](https://wg21.link/p0645r10)| No |
270
278
| [`P0660R10 <stop_token> and jthread`](https://wg21.link/p0660r10)| No |
271
279
| [`P0768R1 Library Support For The Spaceship Comparison Operator <=>`](https://wg21.link/p0768r1)| Partial in VS 2019 16.0 <sup>[20](#note_20)</sup> |
272
-
| [`P0784R7 Library support for more constexpr containers`](https://wg21.link/P0784R7)| No |
273
-
| [`P0811R3 midpoint(), lerp()`](https://wg21.link/P0811R3)| Partial in VS 2019 16.3 <sup>[20](#note_20)</sup> |
274
-
| [`P0896R4 <ranges>`](https://wg21.link/P0896R4)| No |
275
-
| [`P0912R5 Library Support For Coroutines`](https://wg21.link/P0912R5)| No |
280
+
| [`P0784R7 Library support for more constexpr containers`](https://wg21.link/P0784R7)| Partial in VS 2019 16.7 <sup>[20](#note_20)</sup> |
281
+
| [`P0896R4 <ranges>`](https://wg21.link/P0896R4)| Partial in VS 2019 16.8 <sup>[20](#note_20)</sup> |
276
282
| [`P0980R1 constexpr std::string`](https://wg21.link/P0980R1)| No |
277
-
| [`P1001R2 execution::unseq`](https://wg21.link/P1001R2)| No |
278
283
| [`P1004R2 constexpr std::vector`](https://wg21.link/P1004R2)| No |
279
284
| [`P1007R3 assume_aligned()`](https://wg21.link/P1007R3)| No |
280
285
| [`P1020R1 Smart Pointer Creation With Default Initialization`](https://wg21.link/P1020R1)| No |
281
-
| [`P1032R1 Miscellaneous constexpr`](https://wg21.link/P1032R1)| No |
282
-
| [`P1065R2 constexpr INVOKE`](https://wg21.link/P1065R2)| No |
283
-
| [`P1135R6 The C++20 Synchronization Library`](https://wg21.link/P1135R6)| No |
284
286
| [`P1208R6 <source_location>`](https://wg21.link/P1208R6)| No |
285
287
| [`P1285R0 Improving Completeness Requirements For Type Traits`](https://wg21.link/P1285R0)| No |
286
288
| [`P1502R1 Standard Library Header Units`](https://wg21.link/P1502R1)| No |
287
-
| [`P1614R2 Adding Spaceship <=> To The Library`](https://wg21.link/P1614R2)|No|
289
+
| [`P1614R2 Adding Spaceship <=> To The Library`](https://wg21.link/P1614R2)|Partial in VS 2019 16.7 <sup>[20](#note_20)</sup>|
288
290
| [`P1771R1 Library support for [[nodiscard]] for constructors`](https://wg21.link/P1771R1)| No |
289
291
|__C++17 Standard library features__|__Supported__|
290
292
| [`LWG 2221 Formatted output operator for nullptr`](https://cplusplus.github.io/LWG/issue2221)| VS 2019 16.1 |
@@ -417,7 +419,8 @@ __VS 2019 16.3__ indicates features that are supported in Visual Studio 2019 ver
417
419
__VS 2019 16.4__ indicates features that are supported in Visual Studio 2019 version 16.4.\
418
420
__VS 2019 16.5__ indicates features that are supported in Visual Studio 2019 version 16.5.\
419
421
__VS 2019 16.6__ indicates features that are supported in Visual Studio 2019 version 16.6.\
420
-
__VS 2019 16.7__ indicates features that are supported in Visual Studio 2019 version 16.7.
422
+
__VS 2019 16.7__ indicates features that are supported in Visual Studio 2019 version 16.7.\
423
+
__VS 2019 16.8__ indicates features that are supported in Visual Studio 2019 version 16.8.
0 commit comments