Skip to content

Commit f51928b

Browse files
committed
tech review
1 parent aef3433 commit f51928b

File tree

2 files changed

+12
-14
lines changed

2 files changed

+12
-14
lines changed

docs/overview/msvc-conformance-improvements.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -172,7 +172,7 @@ Improved adherence to C++ standards includes better handling of attributes, temp
172172
173173
### C++20 and C++23 Features
174174
175-
- Enhanced [multidimensional operator[] support](https://developercommunity.visualstudio.com/t/Multidimensional-operator-with-Wall-r/10876026)
175+
- Enhanced [multidimensional `operator[]` support](https://developercommunity.visualstudio.com/t/Multidimensional-operator-with-Wall-r/10876026)
176176
- Improved [concept and constraint evaluation](https://developercommunity.visualstudio.com/t/VS-1714-if-constexpr-requires--does/10905731)
177177
178178
### Smaller conformance updates
@@ -186,21 +186,21 @@ MSVC Build Tools v14.50 includes numerous smaller conformance improvements that
186186
- [CWG2507](https://cplusplus.github.io/CWG/issues/2507): Default arguments for `operator[]` support
187187
- [CWG2585](https://cplusplus.github.io/CWG/issues/2585): Behavior alignment with standard requirements
188188
- [CWG2521](https://cplusplus.github.io/CWG/issues/2521): Deprecation of 'operator string-literal identifier'
189-
- [CWG2528](https://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#2528): Relaxed conversion rules for the spaceship operator
189+
- [CWG2528](https://cplusplus.github.io/CWG/issues/2528): Relaxed conversion rules for the spaceship operator
190190
- [P2360R0](https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p2360r0.html): Extended init-statement definition to allow alias-declarations
191191
- [P2290R3](https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2022/p2290r3.pdf): C++23 hexadecimal/octal delimited escape sequence support in string literals
192192
- [P2797R0](https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2023/p2797r0.html): Resolution for CWG2692 regarding static and explicit object member functions with the same parameter-type-lists
193193
- [P2266R3](https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2022/p2266r3.html): Simpler implicit move semantics
194194
195195
## Bug fixes
196196
197-
Bug fixes for C++ Modules, `constexpr`, and other fixes were made in MSVC v14.50.
197+
Bug fixes for C++ Modules, `constexpr`, and other fixes were made in MSVC Build Tools v14.50.
198198
199199
For a detailed list of bug fixes, see [Compiler Improvements in v14.50](https://devblogs.microsoft.com/cppblog/c-language-updates-in-msvc-build-tools-v14-50/#compiler-improvements-in-v14.50).
200200
201201
**Encoding of certain nontype template arguments corrected**
202202
203-
Affects `/stdc++20` or later.
203+
Affects `/std:c++20` or later.
204204
205205
Certain nontype pointer type template arguments involving subobjects could lead to linking issues or in some cases silent bad code generation where what should be distinct specializations collide.
206206
@@ -261,7 +261,7 @@ When upgrading to MSVC Build Tools v14.50, consider the following potential brea
261261

262262
## Provide feedback
263263

264-
For the latest updates and to provide feedback, visit the [Visual Studio Developer Community](https://developercommunity.visualstudio.com/) or contact the team at [[email protected]](mailto:[email protected]). Follow us on Twitter [@visualc](https://twitter.com/visualc) or BlueSky [@msftcpp.bsky.social](https://bsky.app/profile/msftcpp.bsky.social).
264+
For the latest updates and to provide feedback, visit the [Visual Studio Developer Community](https://developercommunity.visualstudio.com/) or contact the team at [[email protected]](mailto:[email protected]). Follow us on X [@visualc](https://x.com/visualc) or BlueSky [@msftcpp.bsky.social](https://bsky.app/profile/msftcpp.bsky.social).
265265

266266
If you encounter problems with MSVC in Visual Studio 2026, please let us know via the [Report a Problem](how-to-report-a-problem-with-the-visual-cpp-toolset.md) option, either from the installer or the Visual Studio IDE itself.
267267

docs/overview/visual-cpp-language-conformance.md

Lines changed: 7 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -197,11 +197,9 @@ For details on conformance improvements, see [C++ conformance improvements in Vi
197197
|  [`P2173R1 Attributes on Lambda-Expressions`](https://wg21.link/p2173r1) | no |
198198
| &emsp;[`P2186R2 Remove Garbage Collection Support`](https://wg21.link/p2186r2) | VS 2022 17.0 <sup>[23](#note_23)</sup> |
199199
| &emsp;[`P2201R1 Mixed string literal concatenation`](https://wg21.link/p2201r1) | no |
200-
| &emsp;[`P2266R1 Simpler implicit move`](https://wg21.link/p2266r1) | MSVC 14.50 <sup>[24](#note_24)</sup> |
201200
| &emsp;[`P2223R2 Trimming whitespaces before line splicing`](https://wg21.link/p2223r2) | no |
202201
| &emsp;[`P2242R3 Non-literal variables (and labels and gotos) in constexpr functions`](https://wg21.link/p2242r3) | no |
203202
| &emsp;[`P2246R1 Character encoding of diagnostic text`](https://wg21.link/p2246r1) | VS 2022 17.0 <sup>[23](#note_23)</sup> |
204-
| &emsp;[`P2266R3 Simpler implicit move`](https://wg21.link/p2266r3) | no |
205203
| &emsp;[`P2280R4 Using unknown pointers and references in constant expressions`](https://wg21.link/p2280r4) | no |
206204
| &emsp;[`P2290R3 Delimited escape sequences`](https://wg21.link/p2290r3) | no |
207205
| &emsp;[`P2295R6 Support for UTF-8 as a portable source file encoding`](https://wg21.link/p2295r6) | no |
@@ -477,22 +475,22 @@ A more detailed listing of Standard Library features and bug fixes by product ve
477475
| &emsp;[`P2166R1 Prohibit basic_string and basic_string_view from being constructed from nullptr`](https://wg21.link/P2166R1) | VS 2022 17.0 <sup>[23](#note_23), [R](#note_R)</sup> |
478476
| &emsp;[`P2186R2 Removed garbage collection support`](https://wg21.link/P2186R2) | VS 2022 17.0 <sup>[23](#note_23), [Q](#note_Q)</sup> |
479477
| &emsp;[`P2251R1 Require span And basic_string_view To Be Trivially Copyable`](https://wg21.link/p2251r1) | VS 2022 17.1 <sup>[23](#note_23)</sup> |
480-
| &emsp;[`P2266R3 Simpler implicit move`](https://wg21.link/p2266r3) | MSVC 14.50 <sup>[24](#note_24)</sup> |
478+
| &emsp;[`P2266R3 Simpler implicit move`](https://wg21.link/p2266r3) | MSVC 19.50 <sup>[24](#note_24)</sup> |
481479
| &emsp;[`P2273R3 constexpr unique_ptr`](https://wg21.link/p2273r3) | VS 2022 17.3 <sup>[23](#note_23)</sup> |
482-
| &emsp;[`P2280R4 Using unknown pointers and references in constant expressions`](https://wg21.link/p2280r4) | MSVC 14.50 <sup>[24](#note_24)</sup> |
483-
| &emsp;[`P2290R3 Delimited escape sequences`](https://wg21.link/p2290r3) | MSVC 14.50 <sup>[24](#note_24)</sup> |
480+
| &emsp;[`P2280R4 Using unknown pointers and references in constant expressions`](https://wg21.link/p2280r4) | MSVC 19.50 <sup>[24](#note_24)</sup> |
481+
| &emsp;[`P2290R3 Delimited escape sequences`](https://wg21.link/p2290r3) | MSVC 19.50 <sup>[24](#note_24)</sup> |
484482
| &emsp;[`P2291R3 constexpr Integral <charconv>`](https://wg21.link/p2291r3) | VS 2022 17.4 <sup>[23](#note_23)</sup> |
485483
| &emsp;[`P2302R4 ranges::contains, ranges::contains_subrange`](https://wg21.link/p2302r4) | VS 2022 17.4 <sup>[23](#note_23)</sup> |
486484
| &emsp;[`P2321R2 std::zip`](https://wg21.link/p2321r2) | partial in VS 2022 17.5 <sup>[23](#note_23)</sup> |
487485
| &emsp;[`P2322R6 ranges::fold_left, ranges::fold_right, etc.`](https://wg21.link/p2322r6) | VS 2022 17.5 <sup>[23](#note_23)</sup> |
488-
| &emsp;[`P2360R0 Extend init-statement to allow alias-declaration`](https://wg21.link/p2360r0) | MSVC 14.50 <sup>[24](#note_24)</sup> |
486+
| &emsp;[`P2360R0 Extend init-statement to allow alias-declaration`](https://wg21.link/p2360r0) | MSVC 19.50 <sup>[24](#note_24)</sup> |
489487
| &emsp;[`P2387R3 Pipe Support For User-Defined Range Adaptors`](https://wg21.link/p2387r3) | VS 2022 17.4 <sup>[23](#note_23)</sup> |
490488
| &emsp;[`P2393R1 Cleaning Up Integer-Class Types`](https://wg21.link/p2393r1) | VS 2022 17.2 <sup>[23](#note_23)</sup> |
491489
| &emsp;[`P2401R0 Conditional noexcept For exchange()`](https://wg21.link/p2401r0) | VS 2022 17.1 <sup>[23](#note_23)</sup> |
492490
| &emsp;[`P2408R5 Ranges Iterators As Inputs To Non-Ranges Algorithms`](https://wg21.link/p2408r5) | VS 2022 17.4 <sup>[23](#note_23)</sup> |
493491
| &emsp;[`P2417R2 More constexpr bitset`](https://wg21.link/p2417r2) | VS 2022 17.4 <sup>[23](#note_23)</sup> |
494492
| &emsp;[`P2419R2 Clarify Handling Of Encodings In Localized Formatting Of chrono Types`](https://wg21.link/p2419r2) | VS 2022 17.4 <sup>[23](#note_23)</sup> |
495-
| &emsp;[`P2437R1 Support for #warning`](https://wg21.link/p2437r1) | MSVC 14.50 <sup>[24](#note_24)</sup> |
493+
| &emsp;[`P2437R1 Support for #warning`](https://wg21.link/p2437r1) | MSVC 19.50 <sup>[24](#note_24)</sup> |
496494
| &emsp;[`P2438R2 string::substr() &&`](https://wg21.link/p2438r2) | VS 2022 17.4 <sup>[23](#note_23)</sup> |
497495
| &emsp;[`P2440R1 ranges::iota, ranges::shift_left, ranges::shift_right`](https://wg21.link/p2440r1) | VS 2022 17.4 <sup>[23](#note_23)</sup> |
498496
| &emsp;[`P2441R2 views::join_with`](https://wg21.link/p2441r2) | VS 2022 17.4 <sup>[23](#note_23)</sup> |
@@ -577,7 +575,7 @@ A group of papers listed together indicates a Standard feature along with one or
577575
**VS 2022 17.3** Supported in Visual Studio 2022 version 17.3.\
578576
**VS 2022 17.4** Supported in Visual Studio 2022 version 17.4.\
579577
**VS 2022 17.5** Supported in Visual Studio 2022 version 17.5.\
580-
**MSVC 14.50** Supported in MSVC Compiler 14.50 and beyond. Support first shipped with Visual Studio 2026 18.0.
578+
**MSVC 19.50** Supported in MSVC Compiler 19.50 and beyond. Support first shipped with Visual Studio 2026 18.0.
581579

582580
### Notes
583581

@@ -648,7 +646,7 @@ These algorithms aren't presently parallelized:
648646

649647
<a name="note_23"></a> **23** In Visual Studio 2022 version 17.0 and up, these features are enabled by the [`/std:c++latest`](../build/reference/std-specify-language-standard-version.md) compiler option.
650648

651-
<a name="note_24"></a> **24** In MSVC 14.50 and up, first shipped with Visual Studio 2026 version 18.0, these features are enabled by the [`/std:c++latest`](../build/reference/std-specify-language-standard-version.md) compiler option.
649+
<a name="note_24"></a> **24** In MSVC 19.50 and up, first shipped with Visual Studio 2026 version 18.0, these features are enabled by the [`/std:c++latest`](../build/reference/std-specify-language-standard-version.md) compiler option.
652650

653651
<a name="note_C11"></a> **C11** Compiler support for C11 and C17 requires Visual Studio 2019 version 16.8 or higher. Except as noted, C11 and C17 library support requires Windows SDK build 10.0.20211.0 or higher. For more information on how to install support for C11 and C17, see [Install C11 and C17 support in Visual Studio](./install-c17-support.md).
654652

0 commit comments

Comments
 (0)