From b3e099d4db16afc0edc70e4b22143eeaa99a4fd9 Mon Sep 17 00:00:00 2001 From: "Stephan T. Lavavej" Date: Tue, 28 Jan 2025 11:05:27 -0800 Subject: [PATCH 1/5] PowerShell 7.5.0. --- 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 630b6676dd4..6a29f6e03f1 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.6/PowerShell-7.4.6-win-x64.msi' +$PowerShellUrl = 'https://github.com/PowerShell/PowerShell/releases/download/v7.5.0/PowerShell-7.5.0-win-x64.msi' $PowerShellArgs = @('/quiet', '/norestart') $PythonUrl = 'https://www.python.org/ftp/python/3.13.1/python-3.13.1-amd64.exe' From 4cc770d5a084ab6acdf4e1d9233851392f81640e Mon Sep 17 00:00:00 2001 From: "Stephan T. Lavavej" Date: Tue, 28 Jan 2025 12:00:21 -0800 Subject: [PATCH 2/5] 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 111b6eab4f3..fc8be111087 100644 --- a/azure-devops/config.yml +++ b/azure-devops/config.yml @@ -5,7 +5,7 @@ variables: - name: poolName - value: 'StlBuild-2025-01-22T1525-Pool' + value: 'StlBuild-2025-01-28T1106-Pool' readonly: true - name: poolDemands value: 'EnableSpotVM -equals false' From 6f43b17cbefd4ed430fd874f2855c310c7fb3235 Mon Sep 17 00:00:00 2001 From: "Stephan T. Lavavej" Date: Tue, 28 Jan 2025 12:00:58 -0800 Subject: [PATCH 3/5] VS 2022 17.13 Preview 4. --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 2ed5d8af157..02ade81ea2d 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 3 or later. +1. Install Visual Studio 2022 17.13 Preview 4 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 3 or later. +1. Install Visual Studio 2022 17.13 Preview 4 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 0a8448e02d1d1bd7491f0562da0a7475b21fc11a Mon Sep 17 00:00:00 2001 From: "Stephan T. Lavavej" Date: Tue, 28 Jan 2025 12:15:08 -0800 Subject: [PATCH 4/5] Remove workaround for VSO-2293247. --- .../P1502R1_standard_library_header_units/custom_format.py | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) 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 6d1cfc6fc3a..bcb09e3ec35 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,9 +62,7 @@ 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', '.\\', - '/shallowScan', # TRANSITION, VSO-2293247 fixed in VS 2022 17.13 Preview 4 (remove /shallowScan) - *allHeaders] + cmd = [test.cxx, *test.flags, *test.compileFlags, *clOptions, '/scanDependencies', '.\\', *allHeaders] yield TestStep(cmd, shared.execDir, shared.env, False) # The JSON files also record what object files will be produced. From f5ba8d6ef5f6415f0cc6ab5ccd7c6428f22c8d9d Mon Sep 17 00:00:00 2001 From: "Stephan T. Lavavej" Date: Tue, 28 Jan 2025 12:16:29 -0800 Subject: [PATCH 5/5] Remove workarounds for DevCom-1627396. --- stl/inc/type_traits | 34 +---------------------- tests/std/tests/P0898R3_concepts/test.cpp | 6 ---- 2 files changed, 1 insertion(+), 39 deletions(-) diff --git a/stl/inc/type_traits b/stl/inc/type_traits index 7ba2935d369..2fd2c64578f 100644 --- a/stl/inc/type_traits +++ b/stl/inc/type_traits @@ -327,32 +327,6 @@ struct is_convertible : bool_constant<__is_convertible_to(_From, _To)> { _EXPORT_STD template constexpr bool is_convertible_v = __is_convertible_to(_From, _To); -#if !defined(__clang__) && !defined(__EDG__) // TRANSITION, DevCom-1627396 -template -struct is_convertible<_Ty&, volatile _Ty&> : true_type {}; - -template -struct is_convertible : true_type {}; - -template -struct is_convertible<_Ty&, const volatile _Ty&> : true_type {}; - -template -struct is_convertible : true_type {}; - -template -constexpr bool is_convertible_v<_Ty&, volatile _Ty&> = true; - -template -constexpr bool is_convertible_v = true; - -template -constexpr bool is_convertible_v<_Ty&, const volatile _Ty&> = true; - -template -constexpr bool is_convertible_v = true; -#endif // ^^^ workaround ^^^ - _EXPORT_STD template struct is_enum : bool_constant<__is_enum(_Ty)> {}; // determine whether _Ty is an enumerated type @@ -2205,13 +2179,7 @@ struct _Is_trivially_swappable : bool_constant<_Is_trivially_swappable_v<_Ty>> { #if _HAS_CXX20 _EXPORT_STD template -concept convertible_to = -#if !defined(__clang__) && !defined(__EDG__) // TRANSITION, DevCom-1627396 - is_convertible_v<_From, _To> -#else // ^^^ workaround / no workaround vvv - __is_convertible_to(_From, _To) -#endif // ^^^ no workaround ^^^ - && requires { static_cast<_To>(_STD declval<_From>()); }; +concept convertible_to = __is_convertible_to(_From, _To) && requires { static_cast<_To>(_STD declval<_From>()); }; template concept _Ref_wrap_common_reference_exists_with = _Is_specialization_v<_RefWrap, reference_wrapper> && requires { diff --git a/tests/std/tests/P0898R3_concepts/test.cpp b/tests/std/tests/P0898R3_concepts/test.cpp index 86aa9df97d1..7ec70ccbfa9 100644 --- a/tests/std/tests/P0898R3_concepts/test.cpp +++ b/tests/std/tests/P0898R3_concepts/test.cpp @@ -513,10 +513,8 @@ namespace test_convertible_to { static_assert(convertible_to>); // volatile array glvalues -#if defined(__clang__) || defined(__EDG__) // TRANSITION, DevCom-1627396 static_assert(convertible_to); static_assert(convertible_to); -#endif // ^^^ no workaround ^^^ static_assert(convertible_to); static_assert(convertible_to); @@ -696,10 +694,8 @@ namespace test_common_reference_with { static_assert(test>()); static_assert(test()); -#if defined(__clang__) || defined(__EDG__) // TRANSITION, DevCom-1627396 static_assert(test()); static_assert(test()); -#endif // ^^^ no workaround ^^^ static_assert(test()); static_assert(test()); } // namespace test_common_reference_with @@ -2022,10 +2018,8 @@ namespace test_swappable_with { static_assert(test()); -#if defined(__clang__) || defined(__EDG__) // TRANSITION, DevCom-1627396 static_assert(test()); static_assert(test()); -#endif // ^^^ no workaround ^^^ static_assert(test() == is_permissive); static_assert(test());