Skip to content

Commit 06827fe

Browse files
Code cleanups: remove workarounds, use braces (#978)
* Fix #433: Warnings C4472 and C4571 were removed in VS 2019 16.6. * Fix #693: Remove workarounds now that we require VS 2019 16.7. * Use braces to construct tags (especially `_Iter_cat_t`), function objects, and empty `shared_ptr`s.
1 parent 37f5689 commit 06827fe

File tree

13 files changed

+41
-54
lines changed

13 files changed

+41
-54
lines changed

stl/inc/algorithm

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -792,7 +792,7 @@ _NODISCARD pair<_InIt1, _InIt2> mismatch(_InIt1 _First1, _InIt1 _Last1, _InIt2 _
792792
_Adl_verify_range(_First1, _Last1);
793793
_Adl_verify_range(_First2, _Last2);
794794
const auto _Result = _Mismatch_unchecked(_Get_unwrapped(_First1), _Get_unwrapped(_Last1), _Get_unwrapped(_First2),
795-
_Get_unwrapped(_Last2), _Pass_fn(_Pred), _Iter_cat_t<_InIt1>(), _Iter_cat_t<_InIt2>());
795+
_Get_unwrapped(_Last2), _Pass_fn(_Pred), _Iter_cat_t<_InIt1>{}, _Iter_cat_t<_InIt2>{});
796796
_Seek_wrapped(_First2, _Result.second);
797797
_Seek_wrapped(_First1, _Result.first);
798798
return {_First1, _First2};
@@ -1913,7 +1913,7 @@ _NODISCARD _FwdItHaystack search(_FwdItHaystack _First1, const _FwdItHaystack _L
19131913
_Adl_verify_range(_First2, _Last2);
19141914
_Seek_wrapped(
19151915
_First1, _Search_unchecked(_Get_unwrapped(_First1), _Get_unwrapped(_Last1), _Get_unwrapped(_First2),
1916-
_Get_unwrapped(_Last2), _Pass_fn(_Pred), _Iter_cat_t<_FwdItHaystack>(), _Iter_cat_t<_FwdItPat>()));
1916+
_Get_unwrapped(_Last2), _Pass_fn(_Pred), _Iter_cat_t<_FwdItHaystack>{}, _Iter_cat_t<_FwdItPat>{}));
19171917
return _First1;
19181918
}
19191919
#endif // _HAS_IF_CONSTEXPR
@@ -2247,7 +2247,7 @@ _NODISCARD _FwdIt search_n(_FwdIt _First, const _FwdIt _Last, const _Diff _Count
22472247

22482248
_Adl_verify_range(_First, _Last);
22492249
_Seek_wrapped(_First, _Search_n_unchecked1(_Get_unwrapped(_First), _Get_unwrapped(_Last), _Count, _Val,
2250-
_Pass_fn(_Pred), _Iter_cat_t<_FwdIt>()));
2250+
_Pass_fn(_Pred), _Iter_cat_t<_FwdIt>{}));
22512251

22522252
return _First;
22532253
}
@@ -2603,7 +2603,7 @@ _NODISCARD _FwdIt1 find_end(_FwdIt1 _First1, const _FwdIt1 _Last1, const _FwdIt2
26032603
_Adl_verify_range(_First2, _Last2);
26042604
_Seek_wrapped(
26052605
_First1, _Find_end_unchecked(_Get_unwrapped(_First1), _Get_unwrapped(_Last1), _Get_unwrapped(_First2),
2606-
_Get_unwrapped(_Last2), _Pass_fn(_Pred), _Iter_cat_t<_FwdIt1>(), _Iter_cat_t<_FwdIt2>()));
2606+
_Get_unwrapped(_Last2), _Pass_fn(_Pred), _Iter_cat_t<_FwdIt1>{}, _Iter_cat_t<_FwdIt2>{}));
26072607

26082608
return _First1;
26092609
}
@@ -3639,7 +3639,7 @@ _SampleIt sample(_PopIt _First, _PopIt _Last, _SampleIt _Dest, _Diff _Count,
36393639
_Adl_verify_range(_First, _Last);
36403640
if (0 < _Count) {
36413641
_Rng_from_urng<_Iter_diff_t<_PopIt>, remove_reference_t<_Urng>> _RngFunc(_Func);
3642-
_Dest = _Sample1(_Get_unwrapped(_First), _Get_unwrapped(_Last), _Dest, _Count, _RngFunc, _Iter_cat_t<_PopIt>());
3642+
_Dest = _Sample1(_Get_unwrapped(_First), _Get_unwrapped(_Last), _Dest, _Count, _RngFunc, _Iter_cat_t<_PopIt>{});
36433643
}
36443644

36453645
return _Dest;
@@ -3949,7 +3949,7 @@ _FwdIt partition(_FwdIt _First, const _FwdIt _Last, _Pr _Pred) {
39493949
// move elements satisfying _Pred to beginning of sequence
39503950
_Adl_verify_range(_First, _Last);
39513951
_Seek_wrapped(_First,
3952-
_Partition_unchecked(_Get_unwrapped(_First), _Get_unwrapped(_Last), _Pass_fn(_Pred), _Iter_cat_t<_FwdIt>()));
3952+
_Partition_unchecked(_Get_unwrapped(_First), _Get_unwrapped(_Last), _Pass_fn(_Pred), _Iter_cat_t<_FwdIt>{}));
39533953

39543954
return _First;
39553955
}

stl/inc/memory

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1386,7 +1386,7 @@ _NODISCARD shared_ptr<_Ty1> dynamic_pointer_cast(const shared_ptr<_Ty2>& _Other)
13861386
return shared_ptr<_Ty1>(_Other, _Ptr);
13871387
}
13881388

1389-
return shared_ptr<_Ty1>();
1389+
return {};
13901390
}
13911391

13921392
template <class _Ty1, class _Ty2>
@@ -1398,7 +1398,7 @@ _NODISCARD shared_ptr<_Ty1> dynamic_pointer_cast(shared_ptr<_Ty2>&& _Other) noex
13981398
return shared_ptr<_Ty1>(_STD move(_Other), _Ptr);
13991399
}
14001400

1401-
return shared_ptr<_Ty1>();
1401+
return {};
14021402
}
14031403
#else // _CPPRTTI
14041404
template <class _Ty1, class _Ty2>
@@ -2730,7 +2730,7 @@ _NODISCARD bool operator<(const unique_ptr<_Ty1, _Dx1>& _Left, const unique_ptr<
27302730
using _Ptr1 = typename unique_ptr<_Ty1, _Dx1>::pointer;
27312731
using _Ptr2 = typename unique_ptr<_Ty2, _Dx2>::pointer;
27322732
using _Common = common_type_t<_Ptr1, _Ptr2>;
2733-
return less<_Common>()(_Left.get(), _Right.get());
2733+
return less<_Common>{}(_Left.get(), _Right.get());
27342734
}
27352735

27362736
template <class _Ty1, class _Dx1, class _Ty2, class _Dx2>
@@ -2771,13 +2771,13 @@ _NODISCARD bool operator!=(nullptr_t _Left, const unique_ptr<_Ty, _Dx>& _Right)
27712771
template <class _Ty, class _Dx>
27722772
_NODISCARD bool operator<(const unique_ptr<_Ty, _Dx>& _Left, nullptr_t _Right) {
27732773
using _Ptr = typename unique_ptr<_Ty, _Dx>::pointer;
2774-
return less<_Ptr>()(_Left.get(), _Right);
2774+
return less<_Ptr>{}(_Left.get(), _Right);
27752775
}
27762776

27772777
template <class _Ty, class _Dx>
27782778
_NODISCARD bool operator<(nullptr_t _Left, const unique_ptr<_Ty, _Dx>& _Right) {
27792779
using _Ptr = typename unique_ptr<_Ty, _Dx>::pointer;
2780-
return less<_Ptr>()(_Left, _Right.get());
2780+
return less<_Ptr>{}(_Left, _Right.get());
27812781
}
27822782

27832783
template <class _Ty, class _Dx>

stl/inc/regex

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -336,7 +336,7 @@ public:
336336
unsigned int _Ix = 0;
337337
for (; _Names[_Ix]._Get<_Elem>(); ++_Ix) {
338338
if (_STD equal(_Get_unwrapped(_First), _Get_unwrapped(_Last), _Names[_Ix]._Get<_Elem>(),
339-
_Names[_Ix]._Get<_Elem>() + _Names[_Ix]._Len, _Cmp_icase<_Regex_traits<_Elem>>(*this))) {
339+
_Names[_Ix]._Get<_Elem>() + _Names[_Ix]._Len, _Cmp_icase<_Regex_traits<_Elem>>{*this})) {
340340
break;
341341
}
342342
}
@@ -1822,13 +1822,13 @@ public:
18221822
template <class _InIt>
18231823
basic_regex(_InIt _First, _InIt _Last, flag_type _Flags) : _Rep(nullptr) {
18241824
_Adl_verify_range(_First, _Last);
1825-
_Reset(_Get_unwrapped(_First), _Get_unwrapped(_Last), _Flags, _Iter_cat_t<_InIt>());
1825+
_Reset(_Get_unwrapped(_First), _Get_unwrapped(_Last), _Flags, _Iter_cat_t<_InIt>{});
18261826
}
18271827

18281828
template <class _InIt>
18291829
basic_regex(_InIt _First, _InIt _Last) : _Rep(nullptr) {
18301830
_Adl_verify_range(_First, _Last);
1831-
_Reset(_Get_unwrapped(_First), _Get_unwrapped(_Last), regex_constants::ECMAScript, _Iter_cat_t<_InIt>());
1831+
_Reset(_Get_unwrapped(_First), _Get_unwrapped(_Last), regex_constants::ECMAScript, _Iter_cat_t<_InIt>{});
18321832
}
18331833

18341834
basic_regex(const basic_regex& _Right)
@@ -1939,7 +1939,7 @@ public:
19391939
template <class _InIt>
19401940
basic_regex& assign(_InIt _First, _InIt _Last, flag_type _Flags = regex_constants::ECMAScript) {
19411941
_Adl_verify_range(_First, _Last);
1942-
_Reset(_Get_unwrapped(_First), _Get_unwrapped(_Last), _Flags, _Iter_cat_t<_InIt>());
1942+
_Reset(_Get_unwrapped(_First), _Get_unwrapped(_Last), _Flags, _Iter_cat_t<_InIt>{});
19431943
return *this;
19441944
}
19451945

@@ -3292,11 +3292,11 @@ _BidIt1 _Compare(_BidIt1 _Begin1, _BidIt1 _End1, _BidIt2 _Begin2, _BidIt2 _End2,
32923292
regex_constants::syntax_option_type _Sflags) { // compare character ranges
32933293
_BidIt1 _Res = _End1;
32943294
if (_Sflags & regex_constants::icase) {
3295-
_Res = _Cmp_chrange(_Begin1, _End1, _Begin2, _End2, _Cmp_icase<_RxTraits>(_Traits));
3295+
_Res = _Cmp_chrange(_Begin1, _End1, _Begin2, _End2, _Cmp_icase<_RxTraits>{_Traits});
32963296
} else if (_Sflags & regex_constants::collate) {
3297-
_Res = _Cmp_chrange(_Begin1, _End1, _Begin2, _End2, _Cmp_collate<_RxTraits>(_Traits));
3297+
_Res = _Cmp_chrange(_Begin1, _End1, _Begin2, _End2, _Cmp_collate<_RxTraits>{_Traits});
32983298
} else {
3299-
_Res = _Cmp_chrange(_Begin1, _End1, _Begin2, _End2, _Cmp_cs<_RxTraits>());
3299+
_Res = _Cmp_chrange(_Begin1, _End1, _Begin2, _End2, _Cmp_cs<_RxTraits>{});
33003300
}
33013301

33023302
return _Res;

stl/inc/utility

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -522,7 +522,7 @@ template <size_t _Idx, class _Ty1, class _Ty2>
522522
_NODISCARD constexpr tuple_element_t<_Idx, pair<_Ty1, _Ty2>>& get(
523523
pair<_Ty1, _Ty2>& _Pr) noexcept { // get reference to element at _Idx in pair _Pr
524524
using _Rtype = tuple_element_t<_Idx, pair<_Ty1, _Ty2>>&;
525-
return _Pair_get<_Rtype>(_Pr, integral_constant<size_t, _Idx>());
525+
return _Pair_get<_Rtype>(_Pr, integral_constant<size_t, _Idx>{});
526526
}
527527

528528
template <class _Ty1, class _Ty2>
@@ -539,7 +539,7 @@ template <size_t _Idx, class _Ty1, class _Ty2>
539539
_NODISCARD constexpr const tuple_element_t<_Idx, pair<_Ty1, _Ty2>>& get(
540540
const pair<_Ty1, _Ty2>& _Pr) noexcept { // get const reference to element at _Idx in pair _Pr
541541
using _Ctype = const tuple_element_t<_Idx, pair<_Ty1, _Ty2>>&;
542-
return _Pair_get<_Ctype>(_Pr, integral_constant<size_t, _Idx>());
542+
return _Pair_get<_Ctype>(_Pr, integral_constant<size_t, _Idx>{});
543543
}
544544

545545
template <class _Ty1, class _Ty2>

stl/inc/vector

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2668,7 +2668,7 @@ public:
26682668
template <class _Iter, enable_if_t<_Is_iterator_v<_Iter>, int> = 0>
26692669
iterator insert(const_iterator _Where, _Iter _First, _Iter _Last) {
26702670
difference_type _Off = _Where - begin();
2671-
_Insert(_Where, _First, _Last, _Iter_cat_t<_Iter>());
2671+
_Insert(_Where, _First, _Last, _Iter_cat_t<_Iter>{});
26722672
return begin() + _Off;
26732673
}
26742674

stl/inc/xpolymorphic_allocator.h

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ template <class _Ty, class _Outer_alloc, class _Inner_alloc, class... _Types,
6363
enable_if_t<!_Is_specialization_v<_Ty, pair>, int> = 0>
6464
void _Uses_allocator_construct(_Ty* const _Ptr, _Outer_alloc& _Outer, _Inner_alloc& _Inner, _Types&&... _Args) {
6565
// uses-allocator construction of *_Ptr by alloc _Outer propagating alloc _Inner, non-pair case
66-
_Uses_allocator_construct1(uses_allocator<_Ty, _Inner_alloc>(), _Ptr, _Outer, _Inner,
66+
_Uses_allocator_construct1(uses_allocator<_Ty, _Inner_alloc>{}, _Ptr, _Outer, _Inner,
6767
_STD forward<_Types>(_Args)...); // TRANSITION, if constexpr
6868
}
6969

@@ -93,8 +93,8 @@ void _Uses_allocator_construct_pair(pair<_Ty1, _Ty2>* const _Ptr, _Outer_alloc&
9393
tuple<_Types1...>&& _Val1, tuple<_Types2...>&& _Val2) {
9494
// uses-allocator construction of pair from _Val1 and _Val2 by alloc _Outer propagating alloc _Inner
9595
allocator_traits<_Outer_alloc>::construct(_Outer, _Ptr, piecewise_construct,
96-
_Uses_allocator_piecewise<_Ty1>(uses_allocator<_Ty1, _Inner_alloc>(), _Inner, _STD move(_Val1)),
97-
_Uses_allocator_piecewise<_Ty2>(uses_allocator<_Ty2, _Inner_alloc>(), _Inner, _STD move(_Val2)));
96+
_Uses_allocator_piecewise<_Ty1>(uses_allocator<_Ty1, _Inner_alloc>{}, _Inner, _STD move(_Val1)),
97+
_Uses_allocator_piecewise<_Ty2>(uses_allocator<_Ty2, _Inner_alloc>{}, _Inner, _STD move(_Val2)));
9898
}
9999

100100
template <class _Ty1, class _Ty2, class _Outer_alloc, class _Inner_alloc, class... _Types1, class... _Types2>

stl/inc/xstring

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2436,7 +2436,7 @@ public:
24362436
_Container_proxy_ptr<_Alty> _Proxy(_Alproxy, _Mypair._Myval2);
24372437
_Tidy_init();
24382438
_Adl_verify_range(_First, _Last);
2439-
_Construct(_Get_unwrapped(_First), _Get_unwrapped(_Last), _Iter_cat_t<_Iter>());
2439+
_Construct(_Get_unwrapped(_First), _Get_unwrapped(_Last), _Iter_cat_t<_Iter>{});
24402440
_Proxy._Release();
24412441
}
24422442

stl/inc/xutility

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1552,7 +1552,7 @@ _NODISCARD constexpr _Iter_diff_t<_Checked> _Idl_distance1(
15521552
template <class _Checked, class _Iter>
15531553
_NODISCARD constexpr auto _Idl_distance(const _Iter& _First, const _Iter& _Last) {
15541554
// tries to get the distance between _First and _Last if they are random-access iterators
1555-
return _Idl_distance1<_Checked>(_First, _Last, _Iter_cat_t<_Iter>());
1555+
return _Idl_distance1<_Checked>(_First, _Last, _Iter_cat_t<_Iter>{});
15561556
}
15571557
#endif // _HAS_IF_CONSTEXPR
15581558

@@ -1636,7 +1636,7 @@ constexpr void _Debug_order_unchecked2(_FwdIt _First, _Sentinel _Last, _Pr& _Pre
16361636
template <class _InIt, class _Sentinel, class _Pr>
16371637
constexpr void _Debug_order_unchecked(_InIt _First, _Sentinel _Last, _Pr&& _Pred) {
16381638
// test if range is ordered by predicate
1639-
_Debug_order_unchecked2(_First, _Last, _Pred, _Iter_cat_t<_InIt>());
1639+
_Debug_order_unchecked2(_First, _Last, _Pred, _Iter_cat_t<_InIt>{});
16401640
}
16411641
#endif // _HAS_IF_CONSTEXPR
16421642

@@ -1675,8 +1675,8 @@ constexpr void _Debug_order_set_unchecked2(
16751675
template <class _OtherIt, class _InIt, class _Pr>
16761676
constexpr void _Debug_order_set_unchecked(_InIt _First, _InIt _Last, _Pr&& _Pred) {
16771677
// test if range is ordered by predicate
1678-
_Debug_order_set_unchecked2(_First, _Last, _Pred, _Iter_cat_t<_InIt>(),
1679-
_Priority_tag<is_same_v<_Iter_value_t<_OtherIt>, _Iter_value_t<_InIt>>>());
1678+
_Debug_order_set_unchecked2(_First, _Last, _Pred, _Iter_cat_t<_InIt>{},
1679+
_Priority_tag<is_same_v<_Iter_value_t<_OtherIt>, _Iter_value_t<_InIt>>>{});
16801680
}
16811681
#endif // _HAS_IF_CONSTEXPR
16821682
#endif // _ITERATOR_DEBUG_LEVEL < 2
@@ -1758,7 +1758,7 @@ template <class _InIt, class _Diff>
17581758
_CONSTEXPR17 void advance(_InIt& _Where, _Diff _Off) {
17591759
// increment iterator by offset, arbitrary iterators
17601760
// we remove_const_t before _Iter_cat_t for better diagnostics if the user passes an iterator that is const
1761-
_Advance1(_Where, _Off, _Iter_cat_t<remove_const_t<_InIt>>());
1761+
_Advance1(_Where, _Off, _Iter_cat_t<remove_const_t<_InIt>>{});
17621762
}
17631763
#endif // _HAS_IF_CONSTEXPR
17641764

@@ -1803,7 +1803,7 @@ _CONSTEXPR17 _Iter_diff_t<_RanIt> _Distance1(_RanIt _First, _RanIt _Last, random
18031803

18041804
template <class _InIt>
18051805
_NODISCARD _CONSTEXPR17 _Iter_diff_t<_InIt> distance(_InIt _First, _InIt _Last) {
1806-
return _Distance1(_First, _Last, _Iter_cat_t<_InIt>());
1806+
return _Distance1(_First, _Last, _Iter_cat_t<_InIt>{});
18071807
}
18081808
#endif // _HAS_IF_CONSTEXPR
18091809

@@ -5075,7 +5075,7 @@ _NODISCARD bool equal(const _InIt1 _First1, const _InIt1 _Last1, const _InIt2 _F
50755075
_Adl_verify_range(_First1, _Last1);
50765076
_Adl_verify_range(_First2, _Last2);
50775077
return _Equal_unchecked(_Get_unwrapped(_First1), _Get_unwrapped(_Last1), _Get_unwrapped(_First2),
5078-
_Get_unwrapped(_Last2), _Pass_fn(_Pred), _Iter_cat_t<_InIt1>(), _Iter_cat_t<_InIt2>());
5078+
_Get_unwrapped(_Last2), _Pass_fn(_Pred), _Iter_cat_t<_InIt1>{}, _Iter_cat_t<_InIt2>{});
50795079
}
50805080
#endif // _HAS_IF_CONSTEXPR
50815081

@@ -5468,7 +5468,7 @@ _NODISCARD _CONSTEXPR20 bool _Check_match_counts(
54685468
++_Last2;
54695469
}
54705470
#else // ^^^ _HAS_IF_CONSTEXPR // !_HAS_IF_CONSTEXPR vvv
5471-
_Trim_matching_suffixes(_Last1, _Last2, _Pred, _Iter_cat_t<_FwdIt1>(), _Iter_cat_t<_FwdIt2>());
5471+
_Trim_matching_suffixes(_Last1, _Last2, _Pred, _Iter_cat_t<_FwdIt1>{}, _Iter_cat_t<_FwdIt2>{});
54725472
#endif // _HAS_IF_CONSTEXPR
54735473
for (_FwdIt1 _Next1 = _First1; _Next1 != _Last1; ++_Next1) {
54745474
if (_Next1 == _Find_pr(_First1, _Next1, *_Next1, _Pred)) { // new value, compare match counts
@@ -5729,7 +5729,7 @@ _FwdIt _Rotate_unchecked(_FwdIt _First, _FwdIt _Mid, _FwdIt _Last) {
57295729
return _First;
57305730
}
57315731

5732-
return _Rotate_unchecked1(_First, _Mid, _Last, _Iter_cat_t<_FwdIt>());
5732+
return _Rotate_unchecked1(_First, _Mid, _Last, _Iter_cat_t<_FwdIt>{});
57335733
}
57345734

57355735
template <class _FwdIt>

stl/inc/yvals_core.h

Lines changed: 4 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -396,12 +396,8 @@
396396
// warning C4412: function signature contains type 'meow'; C++ objects are unsafe to pass between pure code
397397
// and mixed or native. (/Wall)
398398
// warning C4455: literal suffix identifiers that do not start with an underscore are reserved
399-
// warning C4472: 'meow' is a native enum: add an access specifier (private/public)
400-
// to declare a managed enum (/Wall)
401399
// warning C4494: Ignoring __declspec(allocator) because the function return type is not a pointer or reference
402400
// warning C4514: unreferenced inline function has been removed (/Wall)
403-
// warning C4571: Informational: catch(...) semantics changed since Visual C++ 7.1;
404-
// structured exceptions (SEH) are no longer caught (/Wall)
405401
// warning C4574: 'MACRO' is defined to be '0': did you mean to use '#if MACRO'? (/Wall)
406402
// warning C4582: 'union': constructor is not implicitly called (/Wall)
407403
// warning C4583: 'union': destructor is not implicitly called (/Wall)
@@ -425,9 +421,9 @@
425421
#ifndef _STL_DISABLED_WARNINGS
426422
// clang-format off
427423
#define _STL_DISABLED_WARNINGS \
428-
4180 4412 4455 4472 4494 4514 4571 4574 4582 4583 \
429-
4587 4588 4619 4623 4625 4626 4643 4648 4702 4793 \
430-
4820 4988 5026 5027 5045 6294 \
424+
4180 4412 4455 4494 4514 4574 4582 4583 4587 4588 \
425+
4619 4623 4625 4626 4643 4648 4702 4793 4820 4988 \
426+
5026 5027 5045 6294 \
431427
_STL_DISABLED_WARNING_C4577 \
432428
_STL_DISABLED_WARNING_C4984 \
433429
_STL_DISABLED_WARNING_C5053 \
@@ -1167,10 +1163,7 @@
11671163
#define __cpp_lib_coroutine 197000L
11681164
#endif // __cpp_impl_coroutine
11691165

1170-
#ifdef __cpp_impl_destroying_delete
1171-
#define __cpp_lib_destroying_delete 201806L
1172-
#endif // __cpp_impl_destroying_delete
1173-
1166+
#define __cpp_lib_destroying_delete 201806L
11741167
#define __cpp_lib_endian 201907L
11751168
#define __cpp_lib_erase_if 202002L
11761169
#define __cpp_lib_generic_unordered_lookup 201811L

tests/libcxx/expected_results.txt

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -498,9 +498,7 @@ std/thread/thread.semaphore/version.pass.cpp FAIL
498498

499499

500500
# *** MISSING COMPILER FEATURES ***
501-
# C++20 P0722R3 "Efficient sized delete for variable sized classes" // TRANSITION, VS2019 16.7p1
502-
std/language.support/support.dynamic/destroying_delete_t_declaration.pass.cpp:0 SKIPPED
503-
std/language.support/support.dynamic/destroying_delete_t.pass.cpp:0 SKIPPED
501+
# Nothing here! :-)
504502

505503

506504
# *** MISSING LWG ISSUE RESOLUTIONS ***

0 commit comments

Comments
 (0)