Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 0 additions & 6 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -50,12 +50,6 @@ set(VCLIBS_SUFFIX "_oss" CACHE STRING "suffix for built DLL names to avoid confl

option(STL_USE_ANALYZE "Pass the /analyze flag to MSVC" OFF)

if(STL_BUILD_BENCHMARKING)
message(WARNING "Due to issues with building google benchmark, "
"STL_BUILD_BENCHMARKING is no longer allowed as part of the STL build. "
"Instead, build the `benchmarks` directory with the STL_BINARY_DIR option.")
endif()

if("${VCLIBS_TARGET_ARCHITECTURE}" MATCHES "^x86$")
set(VCLIBS_TARGET_ARCHITECTURE "x86")
set(VCLIBS_I386_OR_AMD64 "i386")
Expand Down
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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.5 Preview 2 or later.
1. Install Visual Studio 2022 17.5 Preview 3 or later.
* Select "Windows 11 SDK (10.0.22000.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.
Expand All @@ -157,7 +157,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.5 Preview 2 or later.
1. Install Visual Studio 2022 17.5 Preview 3 or later.
* Select "Windows 11 SDK (10.0.22000.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.
Expand Down
2 changes: 1 addition & 1 deletion azure-pipelines.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ variables:
benchmarkBuildOutputLocation: 'D:\benchmark'

pool:
name: 'StlBuild-2023-01-10T1341-Pool'
name: 'StlBuild-2023-01-18T1600-Pool'
demands: EnableSpotVM -equals true

pr:
Expand Down
39 changes: 5 additions & 34 deletions stl/inc/memory
Original file line number Diff line number Diff line change
Expand Up @@ -3242,33 +3242,18 @@ public:
&& is_convertible_v<remove_pointer_t<_Uty> (*)[], element_type (*)[]>),
int>;

#ifdef _M_CEE // TRANSITION, VSO-1595465
template <class _Uty, class _Dx2 = _Dx, _Unique_ptr_enable_default_t<_Dx2> = 0, class = _Enable_ctor_reset<_Uty>>
#else // ^^^ workaround / no workaround vvv
template <class _Uty, class _Dx2 = _Dx, _Unique_ptr_enable_default_t<_Dx2> = 0, _Enable_ctor_reset<_Uty> = 0>
#endif // ^^^ no workaround ^^^
_CONSTEXPR23 explicit unique_ptr(_Uty _Ptr) noexcept : _Mypair(_Zero_then_variadic_args_t{}, _Ptr) {
}
_CONSTEXPR23 explicit unique_ptr(_Uty _Ptr) noexcept : _Mypair(_Zero_then_variadic_args_t{}, _Ptr) {}

template <class _Uty, class _Dx2 = _Dx, enable_if_t<is_constructible_v<_Dx2, const _Dx2&>, int> = 0,
#ifdef _M_CEE // TRANSITION, VSO-1595465
class = _Enable_ctor_reset<_Uty>>
#else // ^^^ workaround / no workaround vvv
_Enable_ctor_reset<_Uty> = 0>
#endif // ^^^ no workaround ^^^
_CONSTEXPR23 unique_ptr(_Uty _Ptr, const _Dx& _Dt) noexcept : _Mypair(_One_then_variadic_args_t{}, _Dt, _Ptr) {
}
_CONSTEXPR23 unique_ptr(_Uty _Ptr, const _Dx& _Dt) noexcept : _Mypair(_One_then_variadic_args_t{}, _Dt, _Ptr) {}

template <class _Uty, class _Dx2 = _Dx,
enable_if_t<conjunction_v<negation<is_reference<_Dx2>>, is_constructible<_Dx2, _Dx2>>, int> = 0,
#ifdef _M_CEE // TRANSITION, VSO-1595465
class = _Enable_ctor_reset<_Uty>>
#else // ^^^ workaround / no workaround vvv
_Enable_ctor_reset<_Uty> = 0>
#endif // ^^^ no workaround ^^^
_Enable_ctor_reset<_Uty> = 0>
_CONSTEXPR23 unique_ptr(_Uty _Ptr, _Dx&& _Dt) noexcept
: _Mypair(_One_then_variadic_args_t{}, _STD move(_Dt), _Ptr) {
}
: _Mypair(_One_then_variadic_args_t{}, _STD move(_Dt), _Ptr) {}

template <class _Uty, class _Dx2 = _Dx,
enable_if_t<conjunction_v<is_reference<_Dx2>, is_constructible<_Dx2, remove_reference_t<_Dx2>>>, int> = 0>
Expand Down Expand Up @@ -3296,22 +3281,12 @@ public:
int>;

template <class _Uty, class _Ex,
#ifdef _M_CEE // TRANSITION, VSO-1595465
class = _Enable_conversion<_Uty, _Ex,
conditional_t<is_reference_v<_Dx>, is_same<_Ex, _Dx>, is_convertible<_Ex, _Dx>>>>
#else // ^^^ workaround / no workaround vvv
_Enable_conversion<_Uty, _Ex, conditional_t<is_reference_v<_Dx>, is_same<_Ex, _Dx>, is_convertible<_Ex, _Dx>>> =
0>
#endif // ^^^ no workaround ^^^
_CONSTEXPR23 unique_ptr(unique_ptr<_Uty, _Ex>&& _Right) noexcept
: _Mypair(_One_then_variadic_args_t{}, _STD forward<_Ex>(_Right.get_deleter()), _Right.release()) {
}
: _Mypair(_One_then_variadic_args_t{}, _STD forward<_Ex>(_Right.get_deleter()), _Right.release()) {}

#ifdef _M_CEE // TRANSITION, VSO-1595465
template <class _Uty, class _Ex, class = _Enable_conversion<_Uty, _Ex, is_assignable<_Dx&, _Ex>>>
#else // ^^^ workaround / no workaround vvv
template <class _Uty, class _Ex, _Enable_conversion<_Uty, _Ex, is_assignable<_Dx&, _Ex>> = 0>
#endif // ^^^ no workaround ^^^
_CONSTEXPR23 unique_ptr& operator=(unique_ptr<_Uty, _Ex>&& _Right) noexcept {
reset(_Right.release());
_Mypair._Get_first() = _STD forward<_Ex>(_Right._Mypair._Get_first());
Expand Down Expand Up @@ -3365,11 +3340,7 @@ public:
return _STD exchange(_Mypair._Myval2, nullptr);
}

#ifdef _M_CEE // TRANSITION, VSO-1595465
template <class _Uty, class = _Enable_ctor_reset<_Uty, false_type>>
#else // ^^^ workaround / no workaround vvv
template <class _Uty, _Enable_ctor_reset<_Uty, false_type> = 0>
#endif // ^^^ no workaround ^^^
_CONSTEXPR23 void reset(_Uty _Ptr) noexcept {
pointer _Old = _STD exchange(_Mypair._Myval2, _Ptr);
if (_Old) {
Expand Down
1 change: 0 additions & 1 deletion stl/src/special_math.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,6 @@

#pragma warning(push)
#pragma warning(disable : 4702) // unreachable code
#pragma warning(disable : 6326) // potential comparison of a constant with another constant

#define BOOST_MATH_DOMAIN_ERROR_POLICY errno_on_error
#define BOOST_MATH_OVERFLOW_ERROR_POLICY ignore_error
Expand Down
4 changes: 0 additions & 4 deletions tests/std/tests/GH_002030_asan_annotate_string/env.lst
Original file line number Diff line number Diff line change
Expand Up @@ -29,8 +29,6 @@ PM_CL="-fsanitize=address /EHsc /MTd /std:c++latest /permissive /fno-sanitize-ad
PM_CL="-fsanitize=address /EHsc /MTd /std:c++latest /permissive- /analyze:only /analyze:autolog- /fno-sanitize-address-vcasan-lib"
PM_CL="-fsanitize=address /EHsc /MTd /std:c++latest /permissive- /fp:strict /fno-sanitize-address-vcasan-lib"
PM_CL="-fsanitize=address /EHsc /MTd /std:c++latest /permissive- /fno-sanitize-address-vcasan-lib"
PM_CL="-fsanitize=address /Za /EHsc /MD /std:c++latest /permissive- /fno-sanitize-address-vcasan-lib"
PM_CL="-fsanitize=address /Za /EHsc /MDd /std:c++latest /permissive- /fno-sanitize-address-vcasan-lib"
PM_CL="/D_ANNOTATE_STRING /BE /c /EHsc /MD /std:c++14 /fno-sanitize-address-vcasan-lib"
PM_CL="/D_ANNOTATE_STRING /BE /c /EHsc /MDd /std:c++17 /permissive- /fno-sanitize-address-vcasan-lib"
PM_CL="/D_ANNOTATE_STRING /BE /c /EHsc /MT /std:c++20 /permissive- /fno-sanitize-address-vcasan-lib"
Expand All @@ -53,8 +51,6 @@ PM_CL="/D_ANNOTATE_STRING /EHsc /MTd /std:c++latest /permissive /fno-sanitize-ad
PM_CL="/D_ANNOTATE_STRING /EHsc /MTd /std:c++latest /permissive- /analyze:only /analyze:autolog- /fno-sanitize-address-vcasan-lib"
PM_CL="/D_ANNOTATE_STRING /EHsc /MTd /std:c++latest /permissive- /fp:strict /fno-sanitize-address-vcasan-lib"
PM_CL="/D_ANNOTATE_STRING /EHsc /MTd /std:c++latest /permissive- /fno-sanitize-address-vcasan-lib"
PM_CL="/D_ANNOTATE_STRING /Za /EHsc /MD /std:c++latest /permissive- /fno-sanitize-address-vcasan-lib"
PM_CL="/D_ANNOTATE_STRING /Za /EHsc /MDd /std:c++latest /permissive- /fno-sanitize-address-vcasan-lib"
# TRANSITION, clang-cl does not support /alternatename so we cannot test /D_ANNOTATE_STRING without -fsanitize=address
PM_COMPILER="clang-cl" PM_CL="-fsanitize=address -fno-ms-compatibility -fno-delayed-template-parsing -Wno-unqualified-std-cast-call /EHsc /MD /std:c++14"
PM_COMPILER="clang-cl" PM_CL="-fsanitize=address -fno-ms-compatibility -fno-delayed-template-parsing -Wno-unqualified-std-cast-call /EHsc /MD /std:c++17"
Expand Down
Loading