diff --git a/README.md b/README.md index 499f7aa19..92a1d1062 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 1 or later. +1. Install Visual Studio 2022 17.11 Preview 2 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 1 or later. +1. Install Visual Studio 2022 17.11 Preview 2 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/azure-devops/config.yml b/azure-devops/config.yml index 9ecd9a913..43ac66c60 100644 --- a/azure-devops/config.yml +++ b/azure-devops/config.yml @@ -5,7 +5,7 @@ variables: - name: poolName - value: 'StlBuild-2024-05-21T1719-Pool' + value: 'StlBuild-2024-06-11T1315-Pool' readonly: true - name: poolDemands value: 'EnableSpotVM -equals false' diff --git a/azure-devops/provision-image.ps1 b/azure-devops/provision-image.ps1 index 4fb69a968..826fa4bfe 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.2/PowerShell-7.4.2-win-x64.msi' $PowerShellArgs = @('/quiet', '/norestart') -$PythonUrl = 'https://www.python.org/ftp/python/3.12.3/python-3.12.3-amd64.exe' +$PythonUrl = 'https://www.python.org/ftp/python/3.12.4/python-3.12.4-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' diff --git a/stl/inc/climits b/stl/inc/climits index 097693232..20b85bdf2 100644 --- a/stl/inc/climits +++ b/stl/inc/climits @@ -8,10 +8,7 @@ #include #if _STL_COMPILER_PREPROCESSOR -#pragma warning(push) // TRANSITION, VSO-1985428 -#pragma warning(disable : 4668) // 'MEOW' is not defined as a preprocessor macro, replacing with '0' for '#if/#elif' #include -#pragma warning(pop) #endif // _STL_COMPILER_PREPROCESSOR #endif // _CLIMITS_ diff --git a/stl/inc/type_traits b/stl/inc/type_traits index a38a56b9d..48f056d3c 100644 --- a/stl/inc/type_traits +++ b/stl/inc/type_traits @@ -28,7 +28,7 @@ _STL_DISABLE_CLANG_WARNINGS _STD_BEGIN template -constexpr bool _Always_false = false; // TRANSITION, VSO-2016422 (EDG) +constexpr bool _Always_false = false; // TRANSITION, needed by CUDA 12.4 in classes; see CWG-2518, VSO-2016422 (EDG) template struct _Conjunction { // handle false trait or last trait diff --git a/tests/libcxx/lit.site.cfg.in b/tests/libcxx/lit.site.cfg.in index 9c38ff305..7d850be33 100644 --- a/tests/libcxx/lit.site.cfg.in +++ b/tests/libcxx/lit.site.cfg.in @@ -25,8 +25,7 @@ lit_config.library_dirs = getattr(lit_config, 'library_dirs', dict()) lit_config.test_subdirs = getattr(lit_config, 'test_subdirs', dict()) lit_config.expected_results[config.name] = stl.test.file_parsing.parse_result_file('@LIBCXX_EXPECTED_RESULTS@') -# TRANSITION, VSO-1913897: '@STL_SOURCE_DIR@/tests/std/include' is a workaround -lit_config.include_dirs[config.name] = ['@STL_TESTED_HEADERS_DIR@', '@LIBCXX_SOURCE_DIR@/test/support', '@STL_SOURCE_DIR@/tests/std/include'] +lit_config.include_dirs[config.name] = ['@STL_TESTED_HEADERS_DIR@', '@LIBCXX_SOURCE_DIR@/test/support'] lit_config.library_dirs[config.name] = ['@STL_LIBRARY_OUTPUT_DIRECTORY@', '@TOOLSET_LIB@'] lit_config.test_subdirs[config.name] = ['@LIBCXX_SOURCE_DIR@/test/std'] diff --git a/tests/libcxx/usual_matrix.lst b/tests/libcxx/usual_matrix.lst index 55b3f4005..a6642320f 100644 --- a/tests/libcxx/usual_matrix.lst +++ b/tests/libcxx/usual_matrix.lst @@ -3,7 +3,7 @@ RUNALL_INCLUDE ..\universal_prefix.lst RUNALL_CROSSLIST -* PM_CL="/EHsc /MTd /std:c++latest /permissive- /utf-8 /FImsvc_stdlib_force_include.h /FIvso1913897.hpp /wd4643 /D_STL_CALL_ABORT_INSTEAD_OF_INVALID_PARAMETER" +* PM_CL="/EHsc /MTd /std:c++latest /permissive- /utf-8 /FImsvc_stdlib_force_include.h /wd4643 /D_STL_CALL_ABORT_INSTEAD_OF_INVALID_PARAMETER" RUNALL_CROSSLIST PM_CL="/analyze:autolog- /Zc:preprocessor /wd6262" ASAN PM_CL="-fsanitize=address /Zi" PM_LINK="/debug" diff --git a/tests/std/include/force_include.hpp b/tests/std/include/force_include.hpp index 074919b48..e4cf52a9f 100644 --- a/tests/std/include/force_include.hpp +++ b/tests/std/include/force_include.hpp @@ -14,8 +14,6 @@ #include #include -#include "vso1913897.hpp" - struct TestEnvironmentPreparer { TestEnvironmentPreparer() noexcept { // avoid assertion dialog boxes; see GH-781 diff --git a/tests/std/include/range_algorithm_support.hpp b/tests/std/include/range_algorithm_support.hpp index b68513e3d..b71b654f0 100644 --- a/tests/std/include/range_algorithm_support.hpp +++ b/tests/std/include/range_algorithm_support.hpp @@ -16,9 +16,6 @@ namespace ranges = std::ranges; -template -constexpr bool always_false = false; // TRANSITION, VSO-2016422 (EDG) - template constexpr T* nullptr_to = nullptr; diff --git a/tests/std/include/vso1913897.hpp b/tests/std/include/vso1913897.hpp deleted file mode 100644 index e849ead7e..000000000 --- a/tests/std/include/vso1913897.hpp +++ /dev/null @@ -1,15 +0,0 @@ -// Copyright (c) Microsoft Corporation. -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception - -#pragma once - -#ifndef _M_CEE - -// TRANSITION, dynamically initialize a thread_local to workaround VSO-1913897 -inline int __stl_asan_init_function() { - static volatile int __stl_asan_init_volatile = 42; - return __stl_asan_init_volatile; -} -static thread_local int __stl_asan_init_variable = __stl_asan_init_function(); - -#endif // _M_CEE diff --git a/tests/std/tests/GH_001277_num_get_bad_grouping/test.cpp b/tests/std/tests/GH_001277_num_get_bad_grouping/test.cpp index d03fe2ab3..8d5e72294 100644 --- a/tests/std/tests/GH_001277_num_get_bad_grouping/test.cpp +++ b/tests/std/tests/GH_001277_num_get_bad_grouping/test.cpp @@ -1,8 +1,6 @@ // Copyright (c) Microsoft Corporation. // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -#ifndef __EDG__ // TRANSITION, VSO-2064546 - #include #include #include @@ -461,5 +459,3 @@ int main() { test_nonending_unlimited_grouping(); test_nonending_unlimited_grouping(); } - -#endif // ^^^ no workaround ^^^ diff --git a/tests/std/tests/LWG2381_num_get_floating_point/test.cpp b/tests/std/tests/LWG2381_num_get_floating_point/test.cpp index 44c50f724..7f0615f97 100644 --- a/tests/std/tests/LWG2381_num_get_floating_point/test.cpp +++ b/tests/std/tests/LWG2381_num_get_floating_point/test.cpp @@ -13,8 +13,6 @@ // * std/localization/locale.categories/category.numeric/locale.num.get/facet.num.get.members/get_float.pass.cpp // * std/localization/locale.categories/category.numeric/locale.num.get/facet.num.get.members/get_double.pass.cpp -#ifndef __EDG__ // TRANSITION, VSO-2064546 - #include #include #include @@ -618,5 +616,3 @@ int main() { test_double_from_char_cases(); #endif // _HAS_CXX17 } - -#endif // ^^^ no workaround ^^^ diff --git a/tests/std/tests/P0896R4_ranges_iterator_machinery/test.cpp b/tests/std/tests/P0896R4_ranges_iterator_machinery/test.cpp index 919d5e26c..9814bc4fe 100644 --- a/tests/std/tests/P0896R4_ranges_iterator_machinery/test.cpp +++ b/tests/std/tests/P0896R4_ranges_iterator_machinery/test.cpp @@ -1716,7 +1716,7 @@ namespace std_iterator_tags_test { namespace incomplete_test { template struct do_not_instantiate { - static_assert(always_false); + static_assert(false); }; using E = do_not_instantiate; diff --git a/tests/std/tests/P0896R4_ranges_subrange/test.compile.pass.cpp b/tests/std/tests/P0896R4_ranges_subrange/test.compile.pass.cpp index c436ca171..cf6054aff 100644 --- a/tests/std/tests/P0896R4_ranges_subrange/test.compile.pass.cpp +++ b/tests/std/tests/P0896R4_ranges_subrange/test.compile.pass.cpp @@ -995,7 +995,7 @@ namespace test_subrange { template struct illformed { - static_assert(always_false); + static_assert(false); }; template diff --git a/tests/std/tests/P0898R3_concepts/test.cpp b/tests/std/tests/P0898R3_concepts/test.cpp index 3a1ca18a6..22b6dd0cd 100644 --- a/tests/std/tests/P0898R3_concepts/test.cpp +++ b/tests/std/tests/P0898R3_concepts/test.cpp @@ -29,15 +29,12 @@ constexpr bool is_trait = false; template constexpr bool is_trait> = true; -template -constexpr bool always_false = false; // TRANSITION, VSO-2016422 (EDG) - struct IncompleteClass; union IncompleteUnion; template struct DoNotInstantiate { - static_assert(always_false); + static_assert(false); }; struct Immobile { diff --git a/tests/tr1/tests/locale3/test.cpp b/tests/tr1/tests/locale3/test.cpp index 89136f897..2c177311f 100644 --- a/tests/tr1/tests/locale3/test.cpp +++ b/tests/tr1/tests/locale3/test.cpp @@ -1,8 +1,6 @@ // Copyright (c) Microsoft Corporation. // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -#ifndef __EDG__ // TRANSITION, VSO-2064546 - // test , part 3 #define TEST_NAME ", part 3" @@ -555,5 +553,3 @@ void test_main() { // test basic workings of locale definitions test_time_get(); test_time_put(); } - -#endif // ^^^ no workaround ^^^ diff --git a/tests/tr1/tests/locale4/test.cpp b/tests/tr1/tests/locale4/test.cpp index 16cafe7d4..8ed6bcb05 100644 --- a/tests/tr1/tests/locale4/test.cpp +++ b/tests/tr1/tests/locale4/test.cpp @@ -1,8 +1,6 @@ // Copyright (c) Microsoft Corporation. // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -#ifndef __EDG__ // TRANSITION, VSO-2064546 - // test , part 4 #define TEST_NAME ", part 4" @@ -523,5 +521,3 @@ void test_main() { // test basic workings of locale definitions test_time_get(); test_time_put(); } - -#endif // ^^^ no workaround ^^^