From c85c944c32b0c90450c375bc80956e640f386654 Mon Sep 17 00:00:00 2001 From: "Stephan T. Lavavej" Date: Tue, 9 Jul 2024 12:24:01 -0700 Subject: [PATCH 1/6] PowerShell 7.4.3. --- 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 826fa4bfea..097bc2fd53 100644 --- a/azure-devops/provision-image.ps1 +++ b/azure-devops/provision-image.ps1 @@ -40,7 +40,7 @@ foreach ($workload in $VisualStudioWorkloads) { } # https://github.com/PowerShell/PowerShell/releases/latest -$PowerShellUrl = 'https://github.com/PowerShell/PowerShell/releases/download/v7.4.2/PowerShell-7.4.2-win-x64.msi' +$PowerShellUrl = 'https://github.com/PowerShell/PowerShell/releases/download/v7.4.3/PowerShell-7.4.3-win-x64.msi' $PowerShellArgs = @('/quiet', '/norestart') $PythonUrl = 'https://www.python.org/ftp/python/3.12.4/python-3.12.4-amd64.exe' From b3d76ac91cbb0fffbb11fe871f97d1a592c062e3 Mon Sep 17 00:00:00 2001 From: "Stephan T. Lavavej" Date: Tue, 9 Jul 2024 12:31:47 -0700 Subject: [PATCH 2/6] Move to eastus2. --- 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 c996e8d74b..307c511a7c 100644 --- a/azure-devops/create-1es-hosted-pool.ps1 +++ b/azure-devops/create-1es-hosted-pool.ps1 @@ -13,7 +13,7 @@ $ErrorActionPreference = 'Stop' $CurrentDate = Get-Date -$Location = 'eastus' +$Location = 'eastus2' $VMSize = 'Standard_D32ads_v5' $ProtoVMName = 'PROTOTYPE' $ImagePublisher = 'MicrosoftWindowsServer' From d2cccc80c8721f21c6329074e9356c6fd6229d10 Mon Sep 17 00:00:00 2001 From: "Stephan T. Lavavej" Date: Tue, 9 Jul 2024 13:44:33 -0700 Subject: [PATCH 3/6] VS 2022 17.11 Preview 3, now required. --- README.md | 4 ++-- stl/inc/yvals_core.h | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 92a1d1062b..c67aa057e2 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.11 Preview 2 or later. +1. Install Visual Studio 2022 17.11 Preview 3 or later. * Select "Windows 11 SDK (10.0.22621.0)" in the VS Installer. * We recommend selecting "C++ CMake tools for Windows" in the VS Installer. This will ensure that you're using supported versions of CMake and Ninja. @@ -156,7 +156,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.11 Preview 2 or later. +1. Install Visual Studio 2022 17.11 Preview 3 or later. * Select "Windows 11 SDK (10.0.22621.0)" in the VS Installer. * We recommend selecting "C++ CMake tools for Windows" in the VS Installer. This will ensure that you're using supported versions of CMake and Ninja. diff --git a/stl/inc/yvals_core.h b/stl/inc/yvals_core.h index 94fb2b4573..2f1612c43d 100644 --- a/stl/inc/yvals_core.h +++ b/stl/inc/yvals_core.h @@ -897,8 +897,8 @@ _EMIT_STL_ERROR(STL1002, "Unexpected compiler version, expected CUDA 12.4 or new _EMIT_STL_ERROR(STL1000, "Unexpected compiler version, expected Clang 17.0.0 or newer."); #endif // ^^^ old Clang ^^^ #elif defined(_MSC_VER) -#if _MSC_VER < 1940 // Coarse-grained, not inspecting _MSC_FULL_VER -_EMIT_STL_ERROR(STL1001, "Unexpected compiler version, expected MSVC 19.40 or newer."); +#if _MSC_VER < 1941 // Coarse-grained, not inspecting _MSC_FULL_VER +_EMIT_STL_ERROR(STL1001, "Unexpected compiler version, expected MSVC 19.41 or newer."); #endif // ^^^ old MSVC ^^^ #else // vvv other compilers vvv // not attempting to detect other compilers From 905b2dec04430a442297afc83361d6dae1a6cdf7 Mon Sep 17 00:00:00 2001 From: "Stephan T. Lavavej" Date: Tue, 9 Jul 2024 13:47:25 -0700 Subject: [PATCH 4/6] CMake 3.29, now required. --- CMakeLists.txt | 2 +- README.md | 4 ++-- benchmarks/CMakeLists.txt | 2 +- tools/CMakeLists.txt | 2 +- tools/format/CMakeLists.txt | 2 +- tools/validate/CMakeLists.txt | 2 +- 6 files changed, 7 insertions(+), 7 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 38b443326e..f85527c87f 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,7 +1,7 @@ # Copyright (c) Microsoft Corporation. # SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -cmake_minimum_required(VERSION 3.28.0) +cmake_minimum_required(VERSION 3.29.0) set(CMAKE_TRY_COMPILE_TARGET_TYPE STATIC_LIBRARY) project(msvc_standard_libraries LANGUAGES CXX) diff --git a/README.md b/README.md index c67aa057e2..56cd3ab20b 100644 --- a/README.md +++ b/README.md @@ -145,7 +145,7 @@ Just try to follow these rules, so we can spend more time fixing bugs and implem * Select "Windows 11 SDK (10.0.22621.0)" in the VS Installer. * We recommend selecting "C++ CMake tools for Windows" in the VS Installer. This will ensure that you're using supported versions of CMake and Ninja. - * Otherwise, install [CMake][] 3.28.0 or later, and [Ninja][] 1.11.0 or later. + * Otherwise, install [CMake][] 3.29.0 or later, and [Ninja][] 1.11.0 or later. * Make sure [Python][] 3.12 or later is available to CMake. 2. Open Visual Studio, and choose the "Clone or check out code" option. Enter the URL of this repository, `https://github.com/microsoft/STL`. @@ -160,7 +160,7 @@ Just try to follow these rules, so we can spend more time fixing bugs and implem * Select "Windows 11 SDK (10.0.22621.0)" in the VS Installer. * We recommend selecting "C++ CMake tools for Windows" in the VS Installer. This will ensure that you're using supported versions of CMake and Ninja. - * Otherwise, install [CMake][] 3.28.0 or later, and [Ninja][] 1.11.0 or later. + * Otherwise, install [CMake][] 3.29.0 or later, and [Ninja][] 1.11.0 or later. * Make sure [Python][] 3.12 or later is available to CMake. 2. Open a command prompt. 3. Change directories to a location where you'd like a clone of this STL repository. diff --git a/benchmarks/CMakeLists.txt b/benchmarks/CMakeLists.txt index bb6ebbf403..32c6e1925f 100644 --- a/benchmarks/CMakeLists.txt +++ b/benchmarks/CMakeLists.txt @@ -1,7 +1,7 @@ # Copyright (c) Microsoft Corporation. # SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -cmake_minimum_required(VERSION 3.28.0) +cmake_minimum_required(VERSION 3.29.0) project(msvc_standard_libraries_benchmarks LANGUAGES CXX) if(DEFINED STL_BINARY_DIR) diff --git a/tools/CMakeLists.txt b/tools/CMakeLists.txt index 3553aabddd..73d6727320 100644 --- a/tools/CMakeLists.txt +++ b/tools/CMakeLists.txt @@ -1,7 +1,7 @@ # Copyright (c) Microsoft Corporation. # SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -cmake_minimum_required(VERSION 3.28.0) +cmake_minimum_required(VERSION 3.29.0) project(msvc_standard_libraries_tools LANGUAGES CXX) add_subdirectory(format) diff --git a/tools/format/CMakeLists.txt b/tools/format/CMakeLists.txt index c2371fdaf1..57c3925b58 100644 --- a/tools/format/CMakeLists.txt +++ b/tools/format/CMakeLists.txt @@ -1,7 +1,7 @@ # Copyright (c) Microsoft Corporation. # SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -cmake_minimum_required(VERSION 3.28.0) +cmake_minimum_required(VERSION 3.29.0) project(msvc_standard_libraries_format NONE) set(did_search OFF) diff --git a/tools/validate/CMakeLists.txt b/tools/validate/CMakeLists.txt index 332bb22526..2be5cc5fb3 100644 --- a/tools/validate/CMakeLists.txt +++ b/tools/validate/CMakeLists.txt @@ -1,7 +1,7 @@ # Copyright (c) Microsoft Corporation. # SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -cmake_minimum_required(VERSION 3.28.0) +cmake_minimum_required(VERSION 3.29.0) project(msvc_standard_libraries_validate LANGUAGES CXX) add_executable(validate-binary validate.cpp) From e94e2cb3893dde97f301ce4e7872f5ecddfe4cd0 Mon Sep 17 00:00:00 2001 From: "Stephan T. Lavavej" Date: Tue, 9 Jul 2024 13:50:38 -0700 Subject: [PATCH 5/6] Remove workaround for the MSVC-internal toolset. --- stl/inc/__msvc_bit_utils.hpp | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/stl/inc/__msvc_bit_utils.hpp b/stl/inc/__msvc_bit_utils.hpp index 7537edb3ef..eb86c43d0f 100644 --- a/stl/inc/__msvc_bit_utils.hpp +++ b/stl/inc/__msvc_bit_utils.hpp @@ -300,9 +300,8 @@ _NODISCARD int _Checked_x86_x64_countr_zero(const _Ty _Val) noexcept { #endif // _HAS_TZCNT_BSF_INTRINSICS -// TRANSITION, remove `_MSC_VER > 1940` check after MSVC-internal toolset update -#if (defined(_M_IX86) || defined(_M_X64) || (defined(_M_ARM64) && _MSC_VER > 1940)) && !defined(_M_CEE_PURE) \ - && !defined(__CUDACC__) && !defined(__INTEL_COMPILER) +#if (defined(_M_IX86) || defined(_M_X64) || defined(_M_ARM64)) && !defined(_M_CEE_PURE) && !defined(__CUDACC__) \ + && !defined(__INTEL_COMPILER) #define _HAS_POPCNT_INTRINSICS 1 #if defined(__AVX__) || defined(_M_ARM64) || defined(_M_ARM64EC) #define _POPCNT_INTRINSICS_ALWAYS_AVAILABLE 1 From 6a9b746062c8a09877cf05a873de88abc0ae82d0 Mon Sep 17 00:00:00 2001 From: "Stephan T. Lavavej" Date: Tue, 9 Jul 2024 16:52:27 -0700 Subject: [PATCH 6/6] New 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 43ac66c605..a7da64abd9 100644 --- a/azure-devops/config.yml +++ b/azure-devops/config.yml @@ -5,7 +5,7 @@ variables: - name: poolName - value: 'StlBuild-2024-06-11T1315-Pool' + value: 'StlBuild-2024-07-09T1614-Pool' readonly: true - name: poolDemands value: 'EnableSpotVM -equals false'