Skip to content

Commit 38d7248

Browse files
Toolset update: MSVC Compiler 19.50 Preview 1, Clang 20 (#5717)
1 parent 0cb8132 commit 38d7248

File tree

114 files changed

+1431
-1429
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

114 files changed

+1431
-1429
lines changed

.clang-format

Lines changed: 17 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# Copyright (c) Microsoft Corporation.
22
# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
33

4-
# https://releases.llvm.org/19.1.0/tools/clang/docs/ClangFormatStyleOptions.html
4+
# https://releases.llvm.org/20.1.0/tools/clang/docs/ClangFormatStyleOptions.html
55

66
# To update this .clang-format file for a new clang-format version:
77
# 1. Update the documentation link above.
@@ -26,6 +26,7 @@ AlignAfterOpenBracket: DontAlign
2626
# AcrossEmptyLines: false
2727
# AcrossComments: false
2828
# AlignCompound: false
29+
# AlignFunctionDeclarations: false
2930
# AlignFunctionPointers: false
3031
# PadOperators: true
3132
AlignConsecutiveAssignments: Consecutive
@@ -34,20 +35,23 @@ AlignConsecutiveAssignments: Consecutive
3435
# AcrossEmptyLines: false
3536
# AcrossComments: false
3637
# AlignCompound: false
38+
# AlignFunctionDeclarations: false
3739
# AlignFunctionPointers: false
3840
# PadOperators: false
3941
# AlignConsecutiveDeclarations:
4042
# Enabled: false
4143
# AcrossEmptyLines: false
4244
# AcrossComments: false
4345
# AlignCompound: false
46+
# AlignFunctionDeclarations: true
4447
# AlignFunctionPointers: false
4548
# PadOperators: false
4649
# AlignConsecutiveMacros:
4750
# Enabled: false
4851
# AcrossEmptyLines: false
4952
# AcrossComments: false
5053
# AlignCompound: false
54+
# AlignFunctionDeclarations: false
5155
# AlignFunctionPointers: false
5256
# PadOperators: false
5357
AlignConsecutiveMacros: Consecutive
@@ -62,20 +66,23 @@ AlignConsecutiveMacros: Consecutive
6266
# AcrossEmptyLines: false
6367
# AcrossComments: false
6468
# AlignCompound: false
69+
# AlignFunctionDeclarations: false
6570
# AlignFunctionPointers: false
6671
# PadOperators: false
6772
# AlignConsecutiveTableGenCondOperatorColons:
6873
# Enabled: false
6974
# AcrossEmptyLines: false
7075
# AcrossComments: false
7176
# AlignCompound: false
77+
# AlignFunctionDeclarations: false
7278
# AlignFunctionPointers: false
7379
# PadOperators: false
7480
# AlignConsecutiveTableGenDefinitionColons:
7581
# Enabled: false
7682
# AcrossEmptyLines: false
7783
# AcrossComments: false
7884
# AlignCompound: false
85+
# AlignFunctionDeclarations: false
7986
# AlignFunctionPointers: false
8087
# PadOperators: false
8188
# AlignEscapedNewlines: Right
@@ -101,12 +108,13 @@ AllowShortFunctionsOnASingleLine: Empty
101108
# AllowShortIfStatementsOnASingleLine: Never
102109
# AllowShortLambdasOnASingleLine: All
103110
# AllowShortLoopsOnASingleLine: false
111+
# AllowShortNamespacesOnASingleLine: false
104112
# AlwaysBreakAfterDefinitionReturnType: None
105113
# AlwaysBreakBeforeMultilineStrings: false
106114
# AttributeMacros:
107115
# - __capability
108116
# BinPackArguments: true
109-
# BinPackParameters: true
117+
# BinPackParameters: BinPack
110118
# BitFieldColonSpacing: Both
111119
# BraceWrapping:
112120
# AfterCaseLabel: false
@@ -139,6 +147,7 @@ BreakBeforeBinaryOperators: NonAssignment
139147
# BreakBeforeBraces: Attach
140148
# BreakBeforeInlineASMColon: OnlyMultiline
141149
# BreakBeforeTernaryOperators: true
150+
# BreakBinaryOperations: Never
142151
# BreakConstructorInitializers: BeforeColon
143152
# BreakFunctionDefinitionParameters: false
144153
# BreakInheritanceList: BeforeColon
@@ -203,6 +212,7 @@ IncludeCategories:
203212
# IndentCaseBlocks: false
204213
IndentCaseBlocks: true
205214
# IndentCaseLabels: false
215+
# IndentExportBlock: true
206216
# IndentExternBlock: AfterExternBlock
207217
# IndentGotoLabels: true
208218
# IndentPPDirectives: None
@@ -231,6 +241,7 @@ InsertNewlineAtEOF: true
231241
# AtStartOfFile: true
232242
KeepEmptyLines:
233243
AtStartOfFile: false
244+
# KeepFormFeed: false
234245
# LambdaBodyIndentation: Signature
235246
# LineEnding: DeriveLF
236247
LineEnding: CRLF
@@ -250,6 +261,7 @@ NamespaceIndentation: All
250261
# PackConstructorInitializers: BinPack
251262
# PenaltyBreakAssignment: 2
252263
# PenaltyBreakBeforeFirstCallParameter: 19
264+
# PenaltyBreakBeforeMemberAccess: 150
253265
# PenaltyBreakComment: 300
254266
# PenaltyBreakFirstLessLess: 120
255267
# PenaltyBreakOpenParenthesis: 0
@@ -264,8 +276,9 @@ PointerAlignment: Left
264276
# PPIndentWidth: -1
265277
# QualifierAlignment: Leave
266278
# ReferenceAlignment: Pointer
267-
# ReflowComments: true
279+
# ReflowComments: Always
268280
# RemoveBracesLLVM: false
281+
# RemoveEmptyLinesInUnwrappedLines: false
269282
# RemoveParentheses: Leave
270283
# RemoveSemicolon: false
271284
RemoveSemicolon: true
@@ -349,4 +362,5 @@ StatementMacros:
349362
# - NS_SWIFT_NAME
350363
# - PP_STRINGIZE
351364
# - STRINGIZE
365+
# WrapNamespaceBodyWithEmptyLines: Leave
352366
...

.github/ISSUE_TEMPLATE/bug-report.md

Lines changed: 21 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -53,17 +53,32 @@ Alternatively, include `static_assert` or `assert` lines in your
5353
test case above whose failure clearly indicates the problem.
5454

5555
# STL version
56-
* Option 1: Visual Studio version
57-
+ Help > About Microsoft Visual Studio > Copy Info, we need only the first two lines
56+
* Option 1: MSVC Compiler version
5857
+ Example:
5958
```
60-
Microsoft Visual Studio Community 2022
61-
Version 17.6.0 Preview 3.0
59+
C:\Temp>cl.exe
60+
Microsoft (R) C/C++ Optimizing Compiler Version 19.50.35503 for x64
61+
Copyright (C) Microsoft Corporation. All rights reserved.
62+
63+
usage: cl [ option... ] filename... [ /link linkoption... ]
64+
```
65+
* Option 2: `_MSVC_STL_UPDATE` value
66+
+ Example:
67+
```
68+
C:\Temp>type meow.cpp
69+
#include <iostream>
70+
int main() {
71+
std::cout << _MSVC_STL_UPDATE << "\n";
72+
}
73+
74+
C:\Temp>cl /EHsc /nologo /W4 meow.cpp && meow
75+
meow.cpp
76+
202507
6277
```
63-
* Option 2: git commit hash
78+
* Option 3: git commit hash
6479
+ Example:
6580
```
66-
https://github.com/microsoft/STL/commit/2195148
81+
https://github.com/microsoft/STL/commit/219514876ea86491de191ceaa88632616bbc0f19
6782
```
6883
6984
# Additional context

CMakeLists.txt

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,8 @@ cmake_minimum_required(VERSION 3.31.0)
66
set(CMAKE_TRY_COMPILE_TARGET_TYPE STATIC_LIBRARY)
77
project(msvc_standard_libraries LANGUAGES CXX)
88

9-
if(CMAKE_CXX_COMPILER_VERSION VERSION_LESS "19.44.35214")
10-
message(FATAL_ERROR "The STL must be built with VS 2022 17.14.12 Preview 1 or later.")
9+
if(CMAKE_CXX_COMPILER_VERSION VERSION_LESS "19.50.35503")
10+
message(FATAL_ERROR "The STL must be built with MSVC Compiler 19.50 Preview 1 or later.")
1111
endif()
1212

1313
include(CheckCXXSourceCompiles)
@@ -18,7 +18,7 @@ int main() {}
1818
]=] WINDOWS_SDK_VERSION_CHECK)
1919

2020
if(NOT WINDOWS_SDK_VERSION_CHECK)
21-
message(FATAL_ERROR "The STL must be built with the Windows 11 SDK (10.0.26100.4188) or later. Make sure it's available by selecting it in the Individual Components tab of the VS Installer.")
21+
message(FATAL_ERROR "The STL must be built with the Windows 11 SDK (10.0.26100) or later. Make sure it's available by selecting it in the Individual Components tab of the VS Installer.")
2222
endif()
2323

2424
if(NOT DEFINED VCLIBS_TARGET_ARCHITECTURE)
@@ -97,13 +97,13 @@ add_compile_definitions(
9797
_WIN32_WINNT=0x0A00 NTDDI_VERSION=NTDDI_WIN11_GE)
9898

9999
if(STL_USE_ANALYZE)
100-
# TRANSITION, Windows SDK 10.0.26100.4188 emits
100+
# TRANSITION, Windows SDK 10.0.26100 emits
101101
# "warning C6553: The annotation for function 'LCMapStringEx' on _Param_(9) does not apply to a value type."
102102
# Reported as OS-40109504 "Windows SDK: incorrect SAL annotations on functions the STL uses".
103103
add_compile_options("$<$<COMPILE_LANGUAGE:CXX>:/analyze:autolog-;/wd6553>")
104104

105105
if(VCLIBS_TARGET_ARCHITECTURE STREQUAL "arm64ec")
106-
# TRANSITION, Windows SDK 10.0.26100.4188 emits
106+
# TRANSITION, Windows SDK 10.0.26100 emits
107107
# "warning C28301: No annotations for first declaration of 'meow'"
108108
# for various intrinsics when building for ARM64EC.
109109
add_compile_options("$<$<COMPILE_LANGUAGE:CXX>:/wd28301>")

CMakePresets.json

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -13,35 +13,35 @@
1313
"binaryDir": "${sourceDir}/out/${presetName}"
1414
},
1515
{
16-
"name": "x86",
16+
"name": "x64",
1717
"inherits": "base",
18-
"description": "x86 Ninja Config",
18+
"description": "x64 Ninja Config",
1919
"architecture": {
2020
"strategy": "external",
21-
"value": "x86"
21+
"value": "x64"
2222
},
2323
"condition": {
2424
"type": "inList",
2525
"string": "$env{Platform}",
2626
"list": [
27-
"x86",
27+
"x64",
2828
""
2929
]
3030
}
3131
},
3232
{
33-
"name": "x64",
33+
"name": "x86",
3434
"inherits": "base",
35-
"description": "x64 Ninja Config",
35+
"description": "x86 Ninja Config",
3636
"architecture": {
3737
"strategy": "external",
38-
"value": "x64"
38+
"value": "x86"
3939
},
4040
"condition": {
4141
"type": "inList",
4242
"string": "$env{Platform}",
4343
"list": [
44-
"x64",
44+
"x86",
4545
""
4646
]
4747
}
@@ -89,16 +89,16 @@
8989
}
9090
],
9191
"buildPresets": [
92-
{
93-
"name": "x86",
94-
"configurePreset": "x86",
95-
"description": "Build x86 STL"
96-
},
9792
{
9893
"name": "x64",
9994
"configurePreset": "x64",
10095
"description": "Build x64 STL"
10196
},
97+
{
98+
"name": "x86",
99+
"configurePreset": "x86",
100+
"description": "Build x86 STL"
101+
},
102102
{
103103
"name": "ARM64",
104104
"configurePreset": "ARM64",

0 commit comments

Comments
 (0)