diff --git a/CMakeLists.txt b/CMakeLists.txt index 0e129a7c2f3..a286795e67b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -56,7 +56,7 @@ add_compile_definitions( _ALLOW_ITERATOR_DEBUG_LEVEL_MISMATCH WIN32_LEAN_AND_MEAN STRICT _CRT_STDIO_ARBITRARY_WIDE_SPECIFIERS _CRT_DECLARE_NONSTDC_NAMES=1 ) -add_compile_options(/diagnostics:caret /W4 /WX /w14265 /w15038 /d1FastFail /guard:cf /Z7 /Gm- /Gy /Zp8 /std:c++latest /permissive- /Zc:threadSafeInit- /Zl /ZH:SHA_256) +add_compile_options(/diagnostics:caret /W4 /WX /w14265 /w15038 /d1FastFail /guard:cf /Z7 /Gy /Zp8 /std:c++latest /permissive- /Zc:threadSafeInit- /Zl) set(VCLIBS_DEBUG_OPTIONS "/Od") set(VCLIBS_RELEASE_OPTIONS "/O2;/Os") # TRANSITION: Potentially remove /Os diff --git a/README.md b/README.md index a7347c6071c..02ac2277a37 100644 --- a/README.md +++ b/README.md @@ -140,7 +140,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.2 Preview 2 or later. +1. Install Visual Studio 2022 17.2 Preview 3 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.22 or later, and [Ninja][] 1.10.2 or later. @@ -155,7 +155,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.2 Preview 2 or later. +1. Install Visual Studio 2022 17.2 Preview 3 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.22 or later, and [Ninja][] 1.10.2 or later. diff --git a/azure-devops/provision-image.ps1 b/azure-devops/provision-image.ps1 index ce04a56e2c8..3825233375e 100644 --- a/azure-devops/provision-image.ps1 +++ b/azure-devops/provision-image.ps1 @@ -135,14 +135,13 @@ $Workloads = @( 'Microsoft.VisualStudio.Component.VC.Tools.ARM64', 'Microsoft.VisualStudio.Component.VC.Tools.ARM64EC', 'Microsoft.VisualStudio.Component.VC.Tools.x86.x64', - # TRANSITION, LLVM-51128 (Clang 12 targeting ARM64 is incompatible with WinSDK 10.0.20348.0) - 'Microsoft.VisualStudio.Component.Windows10SDK.19041' + 'Microsoft.VisualStudio.Component.Windows11SDK.22000' ) $ReleaseInPath = 'Preview' $Sku = 'Enterprise' $VisualStudioBootstrapperUrl = 'https://aka.ms/vs/17/pre/vs_enterprise.exe' -$PythonUrl = 'https://www.python.org/ftp/python/3.10.3/python-3.10.3-amd64.exe' +$PythonUrl = 'https://www.python.org/ftp/python/3.10.4/python-3.10.4-amd64.exe' $CudaUrl = ` 'https://developer.download.nvidia.com/compute/cuda/10.1/Prod/local_installers/cuda_10.1.243_426.00_win10.exe' diff --git a/azure-pipelines.yml b/azure-pipelines.yml index ac63cc7cb6f..979f8ed76c6 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -7,7 +7,7 @@ variables: tmpDir: 'D:\Temp' buildOutputLocation: 'D:\build' -pool: 'StlBuild-2022-03-17-T1445' +pool: 'StlBuild-2022-04-12-T1624' stages: - stage: Code_Format diff --git a/stl/inc/yvals_core.h b/stl/inc/yvals_core.h index 6f7882d38ef..ce27256a79a 100644 --- a/stl/inc/yvals_core.h +++ b/stl/inc/yvals_core.h @@ -601,8 +601,8 @@ #error STL1000: Unexpected compiler version, expected Clang 13.0.0 or newer. #endif // ^^^ old Clang ^^^ #elif defined(_MSC_VER) -#if _MSC_VER < 1931 // Coarse-grained, not inspecting _MSC_FULL_VER -#error STL1001: Unexpected compiler version, expected MSVC 19.31 or newer. +#if _MSC_VER < 1932 // Coarse-grained, not inspecting _MSC_FULL_VER +#error STL1001: Unexpected compiler version, expected MSVC 19.32 or newer. #endif // ^^^ old MSVC ^^^ #else // vvv other compilers vvv // not attempting to detect other compilers diff --git a/tests/libcxx/expected_results.txt b/tests/libcxx/expected_results.txt index 89a8a7ccab5..933a5b8152b 100644 --- a/tests/libcxx/expected_results.txt +++ b/tests/libcxx/expected_results.txt @@ -282,9 +282,6 @@ std/algorithms/robust_re_difference_type.compile.pass.cpp:0 FAIL # DevCom-1628714: C1XX refuses nullptr_t == reference-to-function in a requires expression std/concepts/concepts.compare/concept.equalitycomparable/equality_comparable_with.compile.pass.cpp:0 FAIL -# DevCom-1629961: ICE testing if function lvalues are comparable with the spaceship operator -std/language.support/cmp/cmp.concept/three_way_comparable.compile.pass.cpp:0 FAIL - # DevCom-1638496: C1XX doesn't properly reject int <=> unsigned std/language.support/cmp/cmp.concept/three_way_comparable_with.compile.pass.cpp:0 FAIL std/language.support/cmp/cmp.result/compare_three_way_result.compile.pass.cpp:0 FAIL diff --git a/tests/libcxx/skipped_tests.txt b/tests/libcxx/skipped_tests.txt index d8e13f3309b..85fcdc391f7 100644 --- a/tests/libcxx/skipped_tests.txt +++ b/tests/libcxx/skipped_tests.txt @@ -282,9 +282,6 @@ algorithms\robust_re_difference_type.compile.pass.cpp # DevCom-1628714: C1XX refuses nullptr_t == reference-to-function in a requires expression concepts\concepts.compare\concept.equalitycomparable\equality_comparable_with.compile.pass.cpp -# DevCom-1629961: ICE testing if function lvalues are comparable with the spaceship operator -language.support\cmp\cmp.concept\three_way_comparable.compile.pass.cpp - # DevCom-1638496: C1XX doesn't properly reject int <=> unsigned language.support\cmp\cmp.concept\three_way_comparable_with.compile.pass.cpp language.support\cmp\cmp.result\compare_three_way_result.compile.pass.cpp diff --git a/tests/std/tests/P0784R7_library_support_for_more_constexpr_containers/test.cpp b/tests/std/tests/P0784R7_library_support_for_more_constexpr_containers/test.cpp index 54a450441d4..7fae144a0cf 100644 --- a/tests/std/tests/P0784R7_library_support_for_more_constexpr_containers/test.cpp +++ b/tests/std/tests/P0784R7_library_support_for_more_constexpr_containers/test.cpp @@ -214,11 +214,7 @@ void test_array(const T& val) { ranges::construct_at(ptr + i, val); } -#if defined(__clang__) || defined(__EDG__) // TRANSITION, VSO-1049320 ranges::destroy_at(reinterpret_cast(ptr)); -#else // ^^^ no workaround / workaround vvv - ranges::destroy_at(reinterpret_cast(const_cast(ptr))); -#endif // TRANSITION, VSO-1049320 #endif // __cpp_lib_concepts } 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 80b90bf88ff..d4552909976 100644 --- a/tests/std/tests/P1502R1_standard_library_header_units/test.cpp +++ b/tests/std/tests/P1502R1_standard_library_header_units/test.cpp @@ -330,6 +330,7 @@ int main() { static_assert(b(3) == 33); } +#if defined(_MSVC_INTERNAL_TESTING) || defined(TEST_TOPO_SORT) // TRANSITION, VSO-1496084 fixed in 17.3 Preview 2 { puts("Testing ."); promise p{}; @@ -339,6 +340,7 @@ int main() { assert(f.wait_for(chrono::seconds{0}) == future_status::ready); assert(f.get() == 1729); } +#endif // ^^^ no workaround ^^^ { puts("Testing ."); @@ -769,6 +771,7 @@ int main() { assert(caught_puppies); } +#if defined(_MSVC_INTERNAL_TESTING) || defined(TEST_TOPO_SORT) // TRANSITION, VSO-1496084 fixed in 17.3 Preview 2 { puts("Testing ."); vector vec; @@ -804,6 +807,7 @@ int main() { 80, 40, 20, 10, 5, 16, 8, 4, 2, 1, -1000}; assert(equal(vec.begin(), vec.end(), begin(expected), end(expected))); } +#endif // ^^^ no workaround ^^^ { puts("Testing .");