diff --git a/CMakeLists.txt b/CMakeLists.txt index 5f2fcd7c777..8999f1b925f 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.20) +cmake_minimum_required(VERSION 3.21) set(CMAKE_TRY_COMPILE_TARGET_TYPE STATIC_LIBRARY) project(msvc_standard_libraries LANGUAGES CXX) diff --git a/README.md b/README.md index 1d6b5db83a2..219a190fcb8 100644 --- a/README.md +++ b/README.md @@ -140,10 +140,10 @@ 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.0 Preview 3 or later. +1. Install Visual Studio 2022 17.0 Preview 4 or later. * 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.20 or later, and [Ninja][] 1.10.2 or later. + * Otherwise, install [CMake][] 3.21 or later, and [Ninja][] 1.10.2 or later. * We recommend selecting "Python 3 64-bit" in the VS Installer. * Otherwise, make sure [Python][] 3.9 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, @@ -155,10 +155,10 @@ 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.0 Preview 3 or later. +1. Install Visual Studio 2022 17.0 Preview 4 or later. * 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.20 or later, and [Ninja][] 1.10.2 or later. + * Otherwise, install [CMake][] 3.21 or later, and [Ninja][] 1.10.2 or later. * We recommend selecting "Python 3 64-bit" in the VS Installer. * Otherwise, make sure [Python][] 3.9 or later is available to CMake. 2. Open a command prompt. diff --git a/azure-devops/provision-image.ps1 b/azure-devops/provision-image.ps1 index 94ff8afa2a9..56ad6320c02 100644 --- a/azure-devops/provision-image.ps1 +++ b/azure-devops/provision-image.ps1 @@ -91,7 +91,7 @@ if ([string]::IsNullOrEmpty($AdminUserPassword)) { $PsExecPath = Join-Path $ExtractedPsToolsPath 'PsExec64.exe' # https://github.com/PowerShell/PowerShell/releases/latest - $PowerShellZipUrl = 'https://github.com/PowerShell/PowerShell/releases/download/v7.1.3/PowerShell-7.1.3-win-x64.zip' + $PowerShellZipUrl = 'https://github.com/PowerShell/PowerShell/releases/download/v7.1.4/PowerShell-7.1.4-win-x64.zip' Write-Host "Downloading: $PowerShellZipUrl" $ExtractedPowerShellPath = DownloadAndExtractZip -Url $PowerShellZipUrl $PwshPath = Join-Path $ExtractedPowerShellPath 'pwsh.exe' @@ -141,7 +141,7 @@ $Workloads = @( $ReleaseInPath = 'Preview' $Sku = 'Enterprise' $VisualStudioBootstrapperUrl = 'https://aka.ms/vs/17/pre/vs_enterprise.exe' -$PythonUrl = 'https://www.python.org/ftp/python/3.9.6/python-3.9.6-amd64.exe' +$PythonUrl = 'https://www.python.org/ftp/python/3.9.7/python-3.9.7-amd64.exe' # https://docs.microsoft.com/en-us/windows-hardware/drivers/download-the-wdk $WindowsDriverKitUrl = 'https://go.microsoft.com/fwlink/?linkid=2128854' diff --git a/azure-pipelines.yml b/azure-pipelines.yml index 0287f4c3674..1420b137cc7 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -7,7 +7,7 @@ variables: tmpDir: 'D:\Temp' buildOutputLocation: 'D:\build' -pool: 'StlBuild-2021-08-11' +pool: 'StlBuild-2021-09-14' stages: - stage: Code_Format diff --git a/stl/inc/xstddef b/stl/inc/xstddef index fb474793241..e9d4f7a19cf 100644 --- a/stl/inc/xstddef +++ b/stl/inc/xstddef @@ -267,11 +267,7 @@ _NODISCARD constexpr _Ty* _Unfancy(_Ty* _Ptr) noexcept { // do nothing for plain } _STD_END -#if defined(__EDG__) && defined(_M_X64) // TRANSITION, VSO-1356169 -#define _EMIT_CDECL(FUNC, OPT1, OPT2, OPT3) FUNC(_EMPTY_ARGUMENT, OPT1, OPT2, OPT3) -#else // ^^^ workaround / no workaround vvv #define _EMIT_CDECL(FUNC, OPT1, OPT2, OPT3) FUNC(__cdecl, OPT1, OPT2, OPT3) -#endif // ^^^ no workaround ^^^ #ifdef _M_CEE #define _EMIT_CLRCALL(FUNC, OPT1, OPT2, OPT3) FUNC(__clrcall, OPT1, OPT2, OPT3) diff --git a/tests/std/tests/P0122R7_span/test.cpp b/tests/std/tests/P0122R7_span/test.cpp index 0d04179c173..5ad7aff81f5 100644 --- a/tests/std/tests/P0122R7_span/test.cpp +++ b/tests/std/tests/P0122R7_span/test.cpp @@ -991,10 +991,8 @@ constexpr bool test() { assert(*sp_dyn.begin() == 10); assert(*sp_nine.begin() == 10); -#if !(defined(__EDG__) && defined(_M_X64)) // TRANSITION, VSO-1356637 assert(sp_dyn.end()[-2] == 80); assert(sp_nine.end()[-2] == 80); -#endif // TRANSITION, VSO-1356637 assert(*sp_dyn.rbegin() == 90); assert(*sp_nine.rbegin() == 90); diff --git a/tests/std/tests/P0220R1_string_view/test.cpp b/tests/std/tests/P0220R1_string_view/test.cpp index 0eaa18178ed..6fe9a0540c7 100644 --- a/tests/std/tests/P0220R1_string_view/test.cpp +++ b/tests/std/tests/P0220R1_string_view/test.cpp @@ -404,11 +404,7 @@ constexpr bool test_case_iterators() { assert(*testIterator == static_cast('h')); testIterator += 8; assert(*testIterator == static_cast('r')); -#if defined(__EDG__) && defined(_M_X64) // TRANSITION, VSO-1356637 - testIterator -= 4; -#else // ^^^ workaround / no workaround vvv testIterator += -4; -#endif // ^^^ no workaround ^^^ assert(*testIterator == static_cast('o')); assert(*(testIterator + 6) == static_cast('d')); diff --git a/tests/std/tests/P1004R2_constexpr_vector/test.cpp b/tests/std/tests/P1004R2_constexpr_vector/test.cpp index 64551dad2bf..4549f9068cb 100644 --- a/tests/std/tests/P1004R2_constexpr_vector/test.cpp +++ b/tests/std/tests/P1004R2_constexpr_vector/test.cpp @@ -236,7 +236,6 @@ constexpr bool test_interface() { static_assert(is_same_v, vec::const_iterator>); assert(*cb2 == 0); -#if !(defined(__EDG__) && defined(_M_X64)) // TRANSITION, VSO-1356637 const auto e = range_constructed.end(); static_assert(is_same_v, vec::iterator>); assert(*prev(e) == 5); @@ -248,7 +247,6 @@ constexpr bool test_interface() { const auto ce2 = const_range_constructed.end(); static_assert(is_same_v, vec::const_iterator>); assert(*prev(ce2) == 5); -#endif // TRANSITION, VSO-1356637 const auto rb = range_constructed.rbegin(); static_assert(is_same_v, reverse_iterator>); @@ -315,7 +313,6 @@ constexpr bool test_interface() { static_assert(is_same_v, int>); assert(cf == 0); -#if !(defined(__EDG__) && defined(_M_X64)) // TRANSITION, VSO-1356637 const auto b = range_constructed.back(); static_assert(is_same_v, int>); assert(b == 5); @@ -323,7 +320,6 @@ constexpr bool test_interface() { const auto cb = const_range_constructed.back(); static_assert(is_same_v, int>); assert(cb == 5); -#endif // TRANSITION, VSO-1356637 const auto d = range_constructed.data(); static_assert(is_same_v, int*>); @@ -555,7 +551,6 @@ constexpr bool test_iterators() { assert(*cit == 4); } -#if !(defined(__EDG__) && defined(_M_X64)) // TRANSITION, VSO-1356637 { // advance back auto it = range_constructed.end() - 2; assert(*it == 4); @@ -567,7 +562,6 @@ constexpr bool test_iterators() { cit -= 2; assert(*cit == 2); } -#endif // TRANSITION, VSO-1356637 { // difference const auto it1 = range_constructed.begin(); diff --git a/tests/std/tests/P1502R1_standard_library_header_units/test.cpp b/tests/std/tests/P1502R1_standard_library_header_units/test.cpp index 467b1190412..ef25b846b6e 100644 --- a/tests/std/tests/P1502R1_standard_library_header_units/test.cpp +++ b/tests/std/tests/P1502R1_standard_library_header_units/test.cpp @@ -709,7 +709,7 @@ int main() { assert(read == expected); } -#if 0 // TRANSITION, DevCom-1511903 +#ifdef MSVC_INTERNAL_TESTING // TRANSITION, DevCom-1511903 const char const_buffer[] = "1 2 3 4 5"; basic_ispanstream is_const_buffer{span{const_buffer}}; read = 0; diff --git a/tools/CMakeLists.txt b/tools/CMakeLists.txt index 9a701cab658..43a2a7e6f46 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.20) +cmake_minimum_required(VERSION 3.21) project(msvc_standard_libraries_tools LANGUAGES CXX) set(CMAKE_CXX_STANDARD 20)