From 305731ac3249c13a0ca61ad2f2cb0cd11e36e5a7 Mon Sep 17 00:00:00 2001 From: "Stephan T. Lavavej" Date: Wed, 11 Dec 2024 12:18:18 -0800 Subject: [PATCH 01/10] Remove workaround for VSO-2188364. --- tests/std/tests/P0323R12_expected/test.cpp | 2 -- 1 file changed, 2 deletions(-) diff --git a/tests/std/tests/P0323R12_expected/test.cpp b/tests/std/tests/P0323R12_expected/test.cpp index bd318ada308..b964b554c8f 100644 --- a/tests/std/tests/P0323R12_expected/test.cpp +++ b/tests/std/tests/P0323R12_expected/test.cpp @@ -2385,10 +2385,8 @@ static_assert( static_assert(!is_assignable_v&, ambiguating_expected_assignment_source>); static_assert(!is_assignable_v&, ambiguating_expected_assignment_source>); #endif // ^^^ no workaround ^^^ -#ifndef __EDG__ // TRANSITION, VSO-2188364 static_assert(!is_assignable_v&, ambiguating_expected_assignment_source>); static_assert(!is_assignable_v&, ambiguating_expected_assignment_source>); -#endif // ^^^ no workaround ^^^ int main() { test_unexpected::test_all(); From 40c47e16fa616529ba0beb4778dbf4e7f99eb7ad Mon Sep 17 00:00:00 2001 From: "Stephan T. Lavavej" Date: Wed, 11 Dec 2024 12:20:05 -0800 Subject: [PATCH 02/10] Remove workarounds for VSO-2254804. --- tests/std/tests/P2502R2_generator/test.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/tests/std/tests/P2502R2_generator/test.cpp b/tests/std/tests/P2502R2_generator/test.cpp index 48c52412604..5ab4cf1ff3a 100644 --- a/tests/std/tests/P2502R2_generator/test.cpp +++ b/tests/std/tests/P2502R2_generator/test.cpp @@ -152,7 +152,7 @@ void test_weird_reference_types() { assert(pos == r.end()); } -#if !(defined(__EDG__) || (defined(__clang__) && defined(_M_IX86))) // TRANSITION, VSO-2254804 and LLVM-56507 +#if !(defined(__clang__) && defined(_M_IX86)) // TRANSITION, LLVM-56507 { // Test with mutable rvalue reference type constexpr size_t segment_size = 16; auto woof = []() -> generator&&> { @@ -172,7 +172,7 @@ void test_weird_reference_types() { #endif // ^^^ no workaround ^^^ } -#if !(defined(__EDG__) || (defined(__clang__) && defined(_M_IX86))) // TRANSITION, VSO-2254804 and LLVM-56507 +#if !(defined(__clang__) && defined(_M_IX86)) // TRANSITION, LLVM-56507 generator iota_repeater(const int hi, const int depth) { if (depth > 0) { co_yield ranges::elements_of(iota_repeater(hi, depth - 1)); @@ -401,7 +401,7 @@ int main() { assert(ranges::equal(co_upto(6), views::iota(0, 6))); zip_example(); test_weird_reference_types(); -#if !(defined(__EDG__) || (defined(__clang__) && defined(_M_IX86))) // TRANSITION, VSO-2254804 and LLVM-56507 +#if !(defined(__clang__) && defined(_M_IX86)) // TRANSITION, LLVM-56507 recursive_test(); arbitrary_range_test(); From 5f5bdd61f47bd157e341a30095db0af44b1d0c2a Mon Sep 17 00:00:00 2001 From: "Stephan T. Lavavej" Date: Wed, 11 Dec 2024 12:21:29 -0800 Subject: [PATCH 03/10] Remove workaround for VSO-2046190. --- tests/std/tests/Dev09_056375_locale_cleanup/test.cpp | 2 -- 1 file changed, 2 deletions(-) diff --git a/tests/std/tests/Dev09_056375_locale_cleanup/test.cpp b/tests/std/tests/Dev09_056375_locale_cleanup/test.cpp index 4c2c434b6cb..cb66dd98088 100644 --- a/tests/std/tests/Dev09_056375_locale_cleanup/test.cpp +++ b/tests/std/tests/Dev09_056375_locale_cleanup/test.cpp @@ -83,9 +83,7 @@ void test_dll() { TheFuncProc pFunc = reinterpret_cast(GetProcAddress(hLibrary, "DllTest")); assert(pFunc != nullptr); pFunc(); -#if defined(_MSVC_INTERNAL_TESTING) || defined(_DLL) || !defined(__SANITIZE_ADDRESS__) // TRANSITION, vs17.13p2 FreeLibrary(hLibrary); -#endif // ^^^ no workaround ^^^ #endif // ^^^ !defined(_M_CEE) ^^^ } From 009abb2d6a2cc1ac59c878b42b34cfda4ca65436 Mon Sep 17 00:00:00 2001 From: "Stephan T. Lavavej" Date: Wed, 11 Dec 2024 15:10:36 -0800 Subject: [PATCH 04/10] Add `/shallowScan` to work around VSO-2293247. This has been fixed internally, so we don't need to mirror this to the Perl script. --- .../P1502R1_standard_library_header_units/custom_format.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/tests/std/tests/P1502R1_standard_library_header_units/custom_format.py b/tests/std/tests/P1502R1_standard_library_header_units/custom_format.py index bcb09e3ec35..258a680222e 100644 --- a/tests/std/tests/P1502R1_standard_library_header_units/custom_format.py +++ b/tests/std/tests/P1502R1_standard_library_header_units/custom_format.py @@ -62,7 +62,9 @@ def getBuildSteps(self, test, litConfig, shared): # Generate JSON files that record how these headers depend on one another. if noisyProgress: print('Scanning dependencies...') - cmd = [test.cxx, *test.flags, *test.compileFlags, *clOptions, '/scanDependencies', '.\\', *allHeaders] + cmd = [test.cxx, *test.flags, *test.compileFlags, *clOptions, '/scanDependencies', '.\\', + '/shallowScan', # TRANSITION, VSO-2293247 fixed in VS 2022 17.13 Preview 3 (remove /shallowScan) + *allHeaders] yield TestStep(cmd, shared.execDir, shared.env, False) # The JSON files also record what object files will be produced. From 2e41eaf108a38081b7f74d63120529c04ba39529 Mon Sep 17 00:00:00 2001 From: "Stephan T. Lavavej" Date: Tue, 10 Dec 2024 20:49:59 -0800 Subject: [PATCH 05/10] Python 3.13.1. --- azure-devops/provision-image.ps1 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/azure-devops/provision-image.ps1 b/azure-devops/provision-image.ps1 index 344fbb7b8eb..ee7573ba18e 100644 --- a/azure-devops/provision-image.ps1 +++ b/azure-devops/provision-image.ps1 @@ -43,7 +43,7 @@ foreach ($workload in $VisualStudioWorkloads) { $PowerShellUrl = 'https://github.com/PowerShell/PowerShell/releases/download/v7.4.6/PowerShell-7.4.6-win-x64.msi' $PowerShellArgs = @('/quiet', '/norestart') -$PythonUrl = 'https://www.python.org/ftp/python/3.13.0/python-3.13.0-amd64.exe' +$PythonUrl = 'https://www.python.org/ftp/python/3.13.1/python-3.13.1-amd64.exe' $PythonArgs = @('/quiet', 'InstallAllUsers=1', 'PrependPath=1', 'CompileAll=1', 'Include_doc=0') $CudaUrl = 'https://developer.download.nvidia.com/compute/cuda/12.4.0/local_installers/cuda_12.4.0_551.61_windows.exe' From 077539630135d022f036df2ecd4ce03807c377ea Mon Sep 17 00:00:00 2001 From: "Stephan T. Lavavej" Date: Wed, 11 Dec 2024 20:15:45 -0800 Subject: [PATCH 06/10] VS 2022 17.13 Preview 2 (not yet required). --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 354a729e36e..e4d3685cf48 100644 --- a/README.md +++ b/README.md @@ -141,7 +141,7 @@ Just try to follow these rules, so we can spend more time fixing bugs and implem # How To Build With The Visual Studio IDE -1. Install Visual Studio 2022 17.13 Preview 1 or later. +1. Install Visual Studio 2022 17.13 Preview 2 or later. * Select "Windows 11 SDK (10.0.22621.0)" in the VS Installer. * Select "MSVC v143 - VS 2022 C++ ARM64/ARM64EC build tools (Latest)" in the VS Installer 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 # How To Build With A Native Tools Command Prompt -1. Install Visual Studio 2022 17.13 Preview 1 or later. +1. Install Visual Studio 2022 17.13 Preview 2 or later. * Select "Windows 11 SDK (10.0.22621.0)" in the VS Installer. * Select "MSVC v143 - VS 2022 C++ ARM64/ARM64EC build tools (Latest)" in the VS Installer if you would like to build the ARM64/ARM64EC target. From 75a94e063b6c3158200000c39249dc04bff5d0b2 Mon Sep 17 00:00:00 2001 From: "Stephan T. Lavavej" Date: Tue, 10 Dec 2024 20:47:16 -0800 Subject: [PATCH 07/10] Standard_F32as_v6. --- azure-devops/create-1es-hosted-pool.ps1 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/azure-devops/create-1es-hosted-pool.ps1 b/azure-devops/create-1es-hosted-pool.ps1 index 0ac42dded33..6cbd50e0af6 100644 --- a/azure-devops/create-1es-hosted-pool.ps1 +++ b/azure-devops/create-1es-hosted-pool.ps1 @@ -14,7 +14,7 @@ $ErrorActionPreference = 'Stop' $CurrentDate = Get-Date $Location = 'eastus2' -$VMSize = 'Standard_D32ads_v5' +$VMSize = 'Standard_F32as_v6' $ProtoVMName = 'PROTOTYPE' $ImagePublisher = 'MicrosoftWindowsServer' $ImageOffer = 'WindowsServer' From a1f3da3895276dd4c67911f4f1f3b3018a71cefb Mon Sep 17 00:00:00 2001 From: "Stephan T. Lavavej" Date: Tue, 10 Dec 2024 22:12:08 -0800 Subject: [PATCH 08/10] Use C: and rename directories to avoid any possible collisions. --- azure-devops/config.yml | 8 ++++---- azure-devops/provision-image.ps1 | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/azure-devops/config.yml b/azure-devops/config.yml index 2c81cfd639c..0f84e46d89e 100644 --- a/azure-devops/config.yml +++ b/azure-devops/config.yml @@ -11,16 +11,16 @@ variables: value: 'EnableSpotVM -equals false' readonly: true - name: tmpDir - value: 'D:\Temp' + value: 'C:\stlTemp' readonly: true - name: buildOutputLocation - value: 'D:\build' + value: 'C:\stlBuild' readonly: true - name: benchmarkBuildOutputLocation - value: 'D:\benchmark' + value: 'C:\stlBenchmark' readonly: true - name: validationBuildOutputLocation - value: 'D:\validation' + value: 'C:\stlValidation' readonly: true - name: Codeql.SkipTaskAutoInjection value: true diff --git a/azure-devops/provision-image.ps1 b/azure-devops/provision-image.ps1 index ee7573ba18e..048bbd65d75 100644 --- a/azure-devops/provision-image.ps1 +++ b/azure-devops/provision-image.ps1 @@ -75,7 +75,7 @@ Function DownloadAndInstall { try { Write-Host "Downloading $Name..." - $tempPath = 'D:\installerTemp' + $tempPath = 'C:\installerTemp' mkdir $tempPath -Force | Out-Null $fileName = [uri]::new($Url).Segments[-1] $installerPath = Join-Path $tempPath $fileName From 6f717f79e9d27e851e9833b9a34826eea76d7313 Mon Sep 17 00:00:00 2001 From: "Stephan T. Lavavej" Date: Thu, 12 Dec 2024 09:06:27 -0800 Subject: [PATCH 09/10] Power Word: NVMe --- azure-devops/create-1es-hosted-pool.ps1 | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/azure-devops/create-1es-hosted-pool.ps1 b/azure-devops/create-1es-hosted-pool.ps1 index 6cbd50e0af6..205e17ad75f 100644 --- a/azure-devops/create-1es-hosted-pool.ps1 +++ b/azure-devops/create-1es-hosted-pool.ps1 @@ -141,6 +141,7 @@ Display-ProgressBar -Status 'Creating prototype VM' $VM = New-AzVMConfig ` -VMName $ProtoVMName ` -VMSize $VMSize ` + -DiskControllerType 'NVMe' ` -Priority 'Regular' $VM = Set-AzVMOperatingSystem ` @@ -261,6 +262,9 @@ New-AzRoleAssignment ` Display-ProgressBar -Status 'Creating image definition' $ImageDefinitionName = $ResourceGroupName + '-ImageDefinition' +$FeatureTrustedLaunch = @{ Name = 'SecurityType'; Value = 'TrustedLaunch'; } +$FeatureNVMe = @{ Name = 'DiskControllerTypes'; Value = 'SCSI, NVMe'; } +$ImageDefinitionFeatures = @($FeatureTrustedLaunch, $FeatureNVMe) New-AzGalleryImageDefinition ` -Location $Location ` -ResourceGroupName $ResourceGroupName ` @@ -271,7 +275,7 @@ New-AzGalleryImageDefinition ` -Publisher $ImagePublisher ` -Offer $ImageOffer ` -Sku $ImageSku ` - -Feature @(@{ Name = 'SecurityType'; Value = 'TrustedLaunch'; }) ` + -Feature $ImageDefinitionFeatures ` -HyperVGeneration 'V2' | Out-Null #################################################################################################### From 0f83485c4eefb1b05affe373ce31e1c510b697c0 Mon Sep 17 00:00:00 2001 From: "Stephan T. Lavavej" Date: Thu, 12 Dec 2024 10:39:04 -0800 Subject: [PATCH 10/10] Standard_F32as_v6 NVMe pool. --- azure-devops/config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/azure-devops/config.yml b/azure-devops/config.yml index 0f84e46d89e..ca89e088cf8 100644 --- a/azure-devops/config.yml +++ b/azure-devops/config.yml @@ -5,7 +5,7 @@ variables: - name: poolName - value: 'StlBuild-2024-11-12T1255-Pool' + value: 'StlBuild-2024-12-12T1002-Pool' readonly: true - name: poolDemands value: 'EnableSpotVM -equals false'