Skip to content

Commit 3804078

Browse files
Toolset update: VS 2022 17.14 Preview 2, Clang 19.1.5 (#5335)
1 parent 0d8f517 commit 3804078

File tree

23 files changed

+148
-122
lines changed

23 files changed

+148
-122
lines changed

.github/workflows/update-status-chart.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ jobs:
2020
- name: Setup Node.js
2121
uses: actions/setup-node@v4
2222
with:
23-
node-version: ">=22.2.0"
23+
node-version: ">=23.9.0"
2424
- name: Install Packages
2525
run: |
2626
npm ci

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -141,7 +141,7 @@ Just try to follow these rules, so we can spend more time fixing bugs and implem
141141

142142
# How To Build With The Visual Studio IDE
143143

144-
1. Install Visual Studio 2022 17.14 Preview 1 or later.
144+
1. Install Visual Studio 2022 17.14 Preview 2 or later.
145145
* Select "Windows 11 SDK (10.0.22621.0)" in the VS Installer.
146146
* Select "MSVC v143 - VS 2022 C++ ARM64/ARM64EC build tools (Latest)" in the VS Installer
147147
if you would like to build the ARM64/ARM64EC target.
@@ -160,7 +160,7 @@ Just try to follow these rules, so we can spend more time fixing bugs and implem
160160

161161
# How To Build With A Native Tools Command Prompt
162162

163-
1. Install Visual Studio 2022 17.14 Preview 1 or later.
163+
1. Install Visual Studio 2022 17.14 Preview 2 or later.
164164
* Select "Windows 11 SDK (10.0.22621.0)" in the VS Installer.
165165
* Select "MSVC v143 - VS 2022 C++ ARM64/ARM64EC build tools (Latest)" in the VS Installer
166166
if you would like to build the ARM64/ARM64EC target.

azure-devops/checkout-self.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ steps:
1111
submodules: false
1212
fetchDepth: 1
1313
fetchTags: false
14+
retryCountOnTaskFailure: 4
1415
- script: |
1516
git clean --quiet -x -d -f -f
1617
displayName: 'Clean after checkout'

azure-devops/config.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55

66
variables:
77
- name: poolName
8-
value: 'StlBuild-2025-02-15T0137-Pool'
8+
value: 'StlBuild-2025-03-11T1203-Pool'
99
readonly: true
1010
- name: poolDemands
1111
value: 'EnableSpotVM -equals false'

azure-devops/create-1es-hosted-pool.ps1

Lines changed: 80 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ $ImageSku = '2025-datacenter-azure-edition'
2222

2323
$LogFile = '1es-hosted-pool.log'
2424
$ProgressActivity = 'Preparing STL CI pool'
25-
$TotalProgress = 26
25+
$TotalProgress = 38
2626
$CurrentProgress = 1
2727

2828
<#
@@ -103,20 +103,54 @@ $AdminPWSecure = New-Password
103103
$Credential = New-Object System.Management.Automation.PSCredential ('AdminUser', $AdminPWSecure)
104104

105105
####################################################################################################
106-
Display-ProgressBar -Status 'Creating virtual network'
106+
Display-ProgressBar -Status 'Creating public IP address'
107+
108+
$PublicIpAddressName = $ResourceGroupName + '-PublicIpAddress'
109+
$PublicIpAddress = New-AzPublicIpAddress `
110+
-Name $PublicIpAddressName `
111+
-ResourceGroupName $ResourceGroupName `
112+
-Location $Location `
113+
-Sku 'Standard' `
114+
-AllocationMethod 'Static'
115+
116+
####################################################################################################
117+
Display-ProgressBar -Status 'Creating NAT gateway'
118+
119+
$NatGatewayName = $ResourceGroupName + '-NatGateway'
120+
$NatGateway = New-AzNatGateway `
121+
-Name $NatGatewayName `
122+
-ResourceGroupName $ResourceGroupName `
123+
-Location $Location `
124+
-IdleTimeoutInMinutes 10 `
125+
-Sku 'Standard' `
126+
-PublicIpAddress $PublicIpAddress
127+
128+
####################################################################################################
129+
Display-ProgressBar -Status 'Creating network security group'
107130

108131
$NetworkSecurityGroupName = $ResourceGroupName + '-NetworkSecurity'
109132
$NetworkSecurityGroup = New-AzNetworkSecurityGroup `
110133
-Name $NetworkSecurityGroupName `
111134
-ResourceGroupName $ResourceGroupName `
112135
-Location $Location
113136

137+
####################################################################################################
138+
Display-ProgressBar -Status 'Creating virtual network subnet config'
139+
140+
# TRANSITION, 2025-09-30: "On September 30, 2025, default outbound access for new deployments will be retired."
141+
# https://learn.microsoft.com/en-us/azure/virtual-network/ip-services/default-outbound-access
142+
# We're using `-DefaultOutboundAccess $false` to opt-in early.
114143
$SubnetName = $ResourceGroupName + '-Subnet'
115144
$Subnet = New-AzVirtualNetworkSubnetConfig `
116145
-Name $SubnetName `
117146
-AddressPrefix '10.0.0.0/16' `
147+
-DefaultOutboundAccess $false `
148+
-NatGateway $NatGateway `
118149
-NetworkSecurityGroup $NetworkSecurityGroup
119150

151+
####################################################################################################
152+
Display-ProgressBar -Status 'Creating virtual network'
153+
120154
$VirtualNetworkName = $ResourceGroupName + '-Network'
121155
$VirtualNetwork = New-AzVirtualNetwork `
122156
-Name $VirtualNetworkName `
@@ -136,7 +170,7 @@ $Nic = New-AzNetworkInterface `
136170
-Subnet $VirtualNetwork.Subnets[0]
137171

138172
####################################################################################################
139-
Display-ProgressBar -Status 'Creating prototype VM'
173+
Display-ProgressBar -Status 'Creating prototype VM config'
140174

141175
# Previously: -Priority 'Spot'
142176
$VM = New-AzVMConfig `
@@ -145,33 +179,51 @@ $VM = New-AzVMConfig `
145179
-DiskControllerType 'NVMe' `
146180
-Priority 'Regular'
147181

182+
####################################################################################################
183+
Display-ProgressBar -Status 'Setting prototype VM OS'
184+
148185
$VM = Set-AzVMOperatingSystem `
149186
-VM $VM `
150187
-Windows `
151188
-ComputerName $ProtoVMName `
152189
-Credential $Credential `
153190
-ProvisionVMAgent
154191

192+
####################################################################################################
193+
Display-ProgressBar -Status 'Adding prototype VM network interface'
194+
155195
$VM = Add-AzVMNetworkInterface `
156196
-VM $VM `
157197
-Id $Nic.Id
158198

199+
####################################################################################################
200+
Display-ProgressBar -Status 'Setting prototype VM source image'
201+
159202
$VM = Set-AzVMSourceImage `
160203
-VM $VM `
161204
-PublisherName $ImagePublisher `
162205
-Offer $ImageOffer `
163206
-Skus $ImageSku `
164207
-Version 'latest'
165208

209+
####################################################################################################
210+
Display-ProgressBar -Status 'Setting prototype VM boot diagnostic'
211+
166212
$VM = Set-AzVMBootDiagnostic `
167213
-VM $VM `
168214
-Disable
169215

216+
####################################################################################################
217+
Display-ProgressBar -Status 'Creating prototype VM'
218+
170219
New-AzVm `
171220
-ResourceGroupName $ResourceGroupName `
172221
-Location $Location `
173222
-VM $VM >> $LogFile
174223

224+
####################################################################################################
225+
Display-ProgressBar -Status 'Getting prototype VM OS disk name'
226+
175227
$VM = Get-AzVM `
176228
-ResourceGroupName $ResourceGroupName `
177229
-Name $ProtoVMName
@@ -350,25 +402,41 @@ Remove-AzDisk `
350402
Display-ProgressBar -Status 'Deleting unused network interface'
351403

352404
Remove-AzNetworkInterface `
353-
-ResourceGroupName $ResourceGroupName `
354-
-Name $NicName `
355-
-Force >> $LogFile
405+
-ResourceGroupName $ResourceGroupName `
406+
-Name $NicName `
407+
-Force >> $LogFile
356408

357409
####################################################################################################
358410
Display-ProgressBar -Status 'Deleting unused virtual network'
359411

360412
Remove-AzVirtualNetwork `
361-
-ResourceGroupName $ResourceGroupName `
362-
-Name $VirtualNetworkName `
363-
-Force >> $LogFile
413+
-ResourceGroupName $ResourceGroupName `
414+
-Name $VirtualNetworkName `
415+
-Force >> $LogFile
364416

365417
####################################################################################################
366418
Display-ProgressBar -Status 'Deleting unused network security group'
367419

368420
Remove-AzNetworkSecurityGroup `
369-
-ResourceGroupName $ResourceGroupName `
370-
-Name $NetworkSecurityGroupName `
371-
-Force >> $LogFile
421+
-ResourceGroupName $ResourceGroupName `
422+
-Name $NetworkSecurityGroupName `
423+
-Force >> $LogFile
424+
425+
####################################################################################################
426+
Display-ProgressBar -Status 'Deleting unused NAT gateway'
427+
428+
Remove-AzNatGateway `
429+
-ResourceGroupName $ResourceGroupName `
430+
-Name $NatGatewayName `
431+
-Force >> $LogFile
432+
433+
####################################################################################################
434+
Display-ProgressBar -Status 'Deleting unused public IP address'
435+
436+
Remove-AzPublicIpAddress `
437+
-ResourceGroupName $ResourceGroupName `
438+
-Name $PublicIpAddressName `
439+
-Force >> $LogFile
372440

373441
####################################################################################################
374442
Write-Progress -Activity $ProgressActivity -Completed

azure-devops/provision-image.ps1

Lines changed: 1 addition & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -46,10 +46,8 @@ $PowerShellArgs = @('/quiet', '/norestart')
4646
$PythonUrl = 'https://www.python.org/ftp/python/3.13.2/python-3.13.2-amd64.exe'
4747
$PythonArgs = @('/quiet', 'InstallAllUsers=1', 'PrependPath=1', 'CompileAll=1', 'Include_doc=0')
4848

49-
# TRANSITION, GH-5282: Install only nvcc and cudart, then manually add CUDA to the PATH (see below).
5049
$CudaUrl = 'https://developer.download.nvidia.com/compute/cuda/12.4.0/local_installers/cuda_12.4.0_551.61_windows.exe'
51-
$CudaArgs = @('-s', '-n', 'nvcc_12.4', 'cudart_12.4')
52-
$CudaPath = 'C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.4\bin'
50+
$CudaArgs = @('-s', '-n')
5351

5452
<#
5553
.SYNOPSIS
@@ -114,12 +112,6 @@ DownloadAndInstall -Name 'CUDA' -Url $CudaUrl -Args $CudaArgs
114112

115113
Write-Host 'Setting environment variables...'
116114

117-
# TRANSITION, GH-5282: Manually add CUDA to the PATH.
118-
# Don't use $Env:PATH here - that's the local path for this running script, captured before we installed anything.
119-
# The machine path was just updated by the installers above.
120-
$machinePath = [Environment]::GetEnvironmentVariable('Path', 'Machine')
121-
[Environment]::SetEnvironmentVariable('Path', "$machinePath;$CudaPath", 'Machine')
122-
123115
# The STL's PR/CI builds are totally unrepresentative of customer usage.
124116
[Environment]::SetEnvironmentVariable('VSCMD_SKIP_SENDTELEMETRY', '1', 'Machine')
125117

stl/inc/__msvc_bit_utils.hpp

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ _NODISCARD constexpr int _Countl_zero_fallback(_Ty _Val) noexcept {
5151
return static_cast<int>(_Nx) - static_cast<int>(_Val);
5252
}
5353

54-
#if !defined(_M_CEE_PURE) && !defined(__CUDACC__) && !defined(__INTEL_COMPILER)
54+
#if !defined(_M_CEE_PURE) && !defined(__CUDACC__)
5555
#define _HAS_COUNTL_ZERO_INTRINSICS 1
5656
#else // ^^^ intrinsics available / intrinsics unavailable vvv
5757
#define _HAS_COUNTL_ZERO_INTRINSICS 0
@@ -179,7 +179,7 @@ _NODISCARD constexpr int _Popcount_fallback(_Ty _Val) noexcept {
179179
}
180180

181181
#if ((defined(_M_IX86) && !defined(_M_HYBRID_X86_ARM64)) || (defined(_M_X64) && !defined(_M_ARM64EC))) \
182-
&& !defined(_M_CEE_PURE) && !defined(__CUDACC__) && !defined(__INTEL_COMPILER)
182+
&& !defined(_M_CEE_PURE) && !defined(__CUDACC__)
183183
#define _HAS_TZCNT_BSF_INTRINSICS 1
184184
#else // ^^^ intrinsics available / intrinsics unavailable vvv
185185
#define _HAS_TZCNT_BSF_INTRINSICS 0
@@ -273,8 +273,7 @@ _NODISCARD int _Checked_x86_x64_countr_zero(const _Ty _Val) noexcept {
273273

274274
#endif // _HAS_TZCNT_BSF_INTRINSICS
275275

276-
#if (defined(_M_IX86) || defined(_M_X64) || defined(_M_ARM64)) && !defined(_M_CEE_PURE) && !defined(__CUDACC__) \
277-
&& !defined(__INTEL_COMPILER)
276+
#if (defined(_M_IX86) || defined(_M_X64) || defined(_M_ARM64)) && !defined(_M_CEE_PURE) && !defined(__CUDACC__)
278277
#define _HAS_POPCNT_INTRINSICS 1
279278
#if defined(__AVX__) || defined(_M_ARM64) || defined(_M_ARM64EC)
280279
#define _POPCNT_INTRINSICS_ALWAYS_AVAILABLE 1

stl/inc/__msvc_int128.hpp

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,8 +36,7 @@ _STL_DISABLE_CLANG_WARNINGS
3636

3737
_STD_BEGIN
3838

39-
#if defined(_M_X64) && !defined(_M_ARM64EC) && !defined(_M_CEE_PURE) && !defined(__CUDACC__) \
40-
&& !defined(__INTEL_COMPILER)
39+
#if defined(_M_X64) && !defined(_M_ARM64EC) && !defined(_M_CEE_PURE) && !defined(__CUDACC__)
4140
#define _STL_128_INTRINSICS 1
4241
#ifdef __clang__ // clang doesn't have _udiv128 / _div128
4342
#define _STL_128_DIV_INTRINSICS 0

stl/inc/__msvc_iter_core.hpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -283,7 +283,7 @@ struct _Iter_traits_category4<false> {
283283

284284
template <class _It>
285285
concept _Cpp17_random_delta =
286-
#if defined(__CUDACC__) && !defined(__clang__) // TRANSITION, CUDA 12.5
286+
#if defined(__CUDACC__) && !defined(__clang__) // TRANSITION, fixed in CUDA 12.5
287287
totally_ordered<_It> && requires(_It __i, typename incrementable_traits<_It>::difference_type __n) {
288288
#else // ^^^ workaround / no workaround vvv
289289
totally_ordered<_It> && requires(_It __i, incrementable_traits<_It>::difference_type __n) {

stl/inc/__msvc_ranges_tuple_formatter.hpp

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -264,7 +264,8 @@ class basic_format_arg {
264264
}
265265
};
266266

267-
#if defined(__clang__) || defined(__EDG__) // TRANSITION, LLVM-81774 (Clang), VSO-1956558 (EDG)
267+
#if defined(__clang__) || defined(__EDG__) \
268+
|| defined(__CUDACC__) // TRANSITION, LLVM-81774 (Clang), VSO-1956558 (EDG), VSO-2411436 (needed by CUDA 12.8.1)
268269
basic_format_arg() noexcept : _Active_state(_Basic_format_arg_type::_None), _No_state() {}
269270
#else // ^^^ workaround / no workaround vvv
270271
basic_format_arg() noexcept = default;

stl/inc/array

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -230,6 +230,11 @@ private:
230230
_STL_VERIFY(*this <= _Last, "array iterator range transposed");
231231
}
232232

233+
friend constexpr void _Verify_range(
234+
const _Array_const_iterator& _First, const _Array_const_iterator& _Last) noexcept {
235+
_First._Verify_with(_Last);
236+
}
237+
233238
constexpr void _Seek_to(pointer _It) noexcept {
234239
_Idx = static_cast<size_t>(_It - _Ptr);
235240
}
@@ -277,15 +282,6 @@ public:
277282
#endif // !_HAS_CXX20
278283
};
279284

280-
#if _ITERATOR_DEBUG_LEVEL != 0
281-
template <class _Ty, size_t _Size>
282-
constexpr void _Verify_range(
283-
const _Array_const_iterator<_Ty, _Size>& _First, const _Array_const_iterator<_Ty, _Size>& _Last) noexcept {
284-
// TRANSITION, CUDA
285-
_First._Verify_with(_Last);
286-
}
287-
#endif // _ITERATOR_DEBUG_LEVEL != 0
288-
289285
#if _HAS_CXX20
290286
template <class _Ty, size_t _Size>
291287
struct pointer_traits<_Array_const_iterator<_Ty, _Size>> {

stl/inc/cmath

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,7 @@
1111
#include <cstdlib>
1212
#include <xtr1common>
1313

14-
#if !defined(__clang__) && !defined(__CUDACC__) && !defined(__INTEL_COMPILER) \
15-
&& !defined(_M_CEE) // TRANSITION, VSO-1663104
14+
#if !defined(__clang__) && !defined(__CUDACC__) && !defined(_M_CEE) // TRANSITION, VSO-1663104
1615
#define _HAS_CMATH_INTRINSICS 1
1716
#else // ^^^ intrinsics available / intrinsics unavailable vvv
1817
#define _HAS_CMATH_INTRINSICS 0

0 commit comments

Comments
 (0)