Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merge main to feature/flat_set #4018

Merged
Merged
Changes from 1 commit
Commits
Show all changes
22 commits
Select commit Hold shift + click to select a range
0bf216b
Update `#else` transition comment (#3951)
AlexGuteniev Aug 18, 2023
21eca6f
Fix `string::assign` and `::resize_and_overwrite` under ASan (#3956)
achabense Aug 18, 2023
292ff9b
Replace `if` with `if constexpr` (#3958)
grcm10 Aug 18, 2023
c7a90d7
Fix bad tr1/algorithm test cases (#3967)
CaseyCarter Aug 18, 2023
60f1885
Update boost-math to 1.83 (#3952)
fsb4000 Aug 18, 2023
782dcd5
Make the constexpr mutex constructor opt-in (#4000)
CaseyCarter Aug 30, 2023
40e1eac
Deprecate the contents in `<cvt/meow>` headers (#3924)
frederick-vs-ja Aug 31, 2023
b091f2a
Avoid calling `size()` in valarray loops (#3968)
AlexGuteniev Aug 31, 2023
bbb6739
Partially remove workaround for DevCom-1559808 (#3975)
frederick-vs-ja Aug 31, 2023
ab60075
C++20 Standard Library Modules! (#3977)
StephanTLavavej Aug 31, 2023
b186392
Avoid VSO-1854243 in `P0339R6_polymorphic_allocator` (#3987)
CaseyCarter Aug 31, 2023
46ca2d7
Don't `memcmp(x, y, -1)` from `ranges::lexicographical_compare` (#3989)
CaseyCarter Aug 31, 2023
6c69a73
Don't violate preconditions in tr1/regex3 (#3990)
CaseyCarter Aug 31, 2023
9b468b3
Remove some `#ifdef _CRTBLD` blocks (#3964)
achabense Sep 7, 2023
d16d735
Cleanups for `<exception>` (#3973)
achabense Sep 7, 2023
f98b286
Fix `num_get`'s float-parsing problem (#3982)
achabense Sep 7, 2023
d97e997
Update _MSVC_STL_UPDATE to September 2023 (#4003)
kissholic Sep 7, 2023
db6379e
Remove `/clr` test workarounds (#4012)
StephanTLavavej Sep 7, 2023
d8ed02d
Make `expected<any, ...>` and `expected<void, any>` copyable (#4013)
achabense Sep 7, 2023
11e815d
Merge branch 'main' into update-flat_set
StephanTLavavej Sep 8, 2023
8dd198f
Fix stealth merge conflict with C++20 Standard Library Modules.
StephanTLavavej Sep 8, 2023
384040a
Use 4-arg std::equal().
StephanTLavavej Sep 8, 2023
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
Prev Previous commit
Next Next commit
Partially remove workaround for DevCom-1559808 (#3975)
Remove workarounds for DevCom-1559808, relabeling some as now working around DevCom-10452846.
frederick-vs-ja authored Aug 31, 2023
commit bbb673950b5c490be15a837d2318b25a2a35af1d
4 changes: 2 additions & 2 deletions stl/inc/algorithm
Original file line number Diff line number Diff line change
@@ -8288,13 +8288,13 @@ namespace ranges {
}

// divide and conquer by quicksort
#if defined(__clang__) || defined(__EDG__) // TRANSITION, DevCom-1559808
#if defined(__clang__) || defined(__EDG__) // TRANSITION, DevCom-10452846
auto [_Mid_first, _Mid_last] = _Partition_by_median_guess_common(_First, _Last, _Pred, _Proj);
#else // ^^^ no workaround / workaround vvv
auto _Mid = _Partition_by_median_guess_common(_First, _Last, _Pred, _Proj);
auto _Mid_first = _Mid.begin();
auto _Mid_last = _Mid.end();
#endif // TRANSITION, DevCom-1559808
#endif // TRANSITION, DevCom-10452846

_Ideal = (_Ideal >> 1) + (_Ideal >> 2); // allow 1.5 log2(N) divisions

12 changes: 0 additions & 12 deletions stl/inc/ranges
Original file line number Diff line number Diff line change
@@ -5102,13 +5102,7 @@ namespace ranges {
return *this;
}

#if defined(__clang__) || defined(__EDG__) // TRANSITION, DevCom-1559808
auto [_Begin, _End] = _RANGES search(subrange{_Current, _Last}, _Parent->_Pattern);
#else // ^^^ no workaround / workaround vvv
auto _Match = _RANGES search(subrange{_Current, _Last}, _Parent->_Pattern);
auto _Begin = _Match.begin();
auto _End = _Match.end();
#endif // TRANSITION, DevCom-1559808
if (_Begin != _Last && _RANGES empty(_Parent->_Pattern)) {
++_Begin;
++_End;
@@ -5154,13 +5148,7 @@ namespace ranges {

constexpr subrange<iterator_t<_Vw>> _Find_next(iterator_t<_Vw> _It) {
const auto _Last = _RANGES end(_Range);
#if defined(__clang__) || defined(__EDG__) // TRANSITION, DevCom-1559808
auto [_Begin, _End] = _RANGES search(subrange{_It, _Last}, _Pattern);
#else // ^^^ no workaround / workaround vvv
auto _Match = _RANGES search(subrange{_It, _Last}, _Pattern);
auto _Begin = _Match.begin();
auto _End = _Match.end();
#endif // TRANSITION, DevCom-1559808
if (_Begin != _Last && _RANGES empty(_Pattern)) {
++_Begin;
++_End;
4 changes: 0 additions & 4 deletions tests/libcxx/expected_results.txt
Original file line number Diff line number Diff line change
@@ -381,10 +381,6 @@ std/utilities/meta/meta.unary/meta.unary.prop/is_constructible.pass.cpp:0 FAIL
std/algorithms/alg.sorting/alg.sort/partial.sort/partial_sort.pass.cpp:0 FAIL
std/algorithms/alg.sorting/alg.sort/partial.sort/partial_sort_comp.pass.cpp:0 FAIL

# DevCom-1559808: (structured bindings for `subrange` in a constant expression)
# Skipped as this sometimes emits "fatal error C1001: Internal compiler error." with a crash dialog.
std/ranges/range.utility/range.subrange/structured_bindings.pass.cpp:0 SKIPPED

# DevCom-1436243 constexpr new initialized array
std/utilities/smartptr/unique.ptr/unique.ptr.class/unique.ptr.modifiers/reset_self.pass.cpp:0 FAIL
std/utilities/smartptr/unique.ptr/unique.ptr.create/make_unique.array.pass.cpp:0 FAIL