Now the only ones we're still missing from P0879 are sort and nth_element.
(nth_element is actually not trivial, because the existing implementation uses a goto label.)
Paths
| Differential D93512
[libc++] [P0879] constexpr heap and partial_sort algorithms ClosedPublic Authored by • Quuxplusone on Dec 17 2020, 9:31 PM.
Details
Summary Now the only ones we're still missing from P0879 are sort and nth_element. (nth_element is actually not trivial, because the existing implementation uses a goto label.)
Diff Detail
Event Timeline• Quuxplusone added a parent revision: D93443: [libc++] [P0879] constexpr reverse, partition, *_permutation.Jan 8 2021, 2:57 PM • Quuxplusone mentioned this in D95248: [libc++][doc] Update the release notes.Jan 22 2021, 11:59 AM Comment Actions Generally looks good, I'm just asking for a bit more manual testing. Thanks a lot for working on this, I love that we're removing dependencies on <random>.
This revision now requires changes to proceed.Jan 25 2021, 9:08 AM
Comment Actions Poke buildbot. (The last build https://reviews.llvm.org/B86646 seems to have failed in a devopsy way, and clicking "Restart Builds" just tells me I haven't got permissions for that.) Comment Actions @ldionne: I don't think buildkite is ever going to finish a build here. I propose that you approve this revision and I just go again and land it, and we'll see what happens with the buildbots after that. (If it somehow does break buildbots, we can revert it.) Thoughts? Comment Actions
I've restarted the failing job. I've been having a few issues with the builders for the past 2 days. The laptops are being overworked :-) Let's land this once https://buildkite.com/llvm-project/libcxx-ci/builds/1140 has succeeded. This revision is now accepted and ready to land.Jan 27 2021, 6:17 AM This revision was landed with ongoing or failed builds.Jan 27 2021, 7:26 AM Closed by commit rG5386aa26277f: [libc++] [P0879] constexpr heap and partial_sort algorithms (authored by • arthur.j.odwyer). · Explain Why This revision was automatically updated to reflect the committed changes.
Revision Contents
Diff 315526 libcxx/include/algorithm
libcxx/test/std/algorithms/alg.sorting/alg.heap.operations/make.heap/make_heap.pass.cpplibcxx/test/std/algorithms/alg.sorting/alg.heap.operations/make.heap/make_heap_comp.pass.cpp
libcxx/test/std/algorithms/alg.sorting/alg.heap.operations/pop.heap/pop_heap.pass.cpp
libcxx/test/std/algorithms/alg.sorting/alg.heap.operations/pop.heap/pop_heap_comp.pass.cpp
libcxx/test/std/algorithms/alg.sorting/alg.heap.operations/push.heap/push_heap.pass.cpp
libcxx/test/std/algorithms/alg.sorting/alg.heap.operations/push.heap/push_heap_comp.pass.cpp
libcxx/test/std/algorithms/alg.sorting/alg.heap.operations/sort.heap/sort_heap.pass.cpp
libcxx/test/std/algorithms/alg.sorting/alg.heap.operations/sort.heap/sort_heap_comp.pass.cpp
libcxx/test/std/algorithms/alg.sorting/alg.sort/partial.sort.copy/partial_sort_copy.pass.cpp
libcxx/test/std/algorithms/alg.sorting/alg.sort/partial.sort.copy/partial_sort_copy_comp.pass.cpp
libcxx/test/std/algorithms/alg.sorting/alg.sort/partial.sort/partial_sort.pass.cpp
libcxx/test/std/algorithms/alg.sorting/alg.sort/partial.sort/partial_sort_comp.pass.cpp
libcxx/test/support/MoveOnly.h
|
Can you please also add a few dumb hand-written test cases? You know I love those, right?
Same for the other algorithms whose tests have been rewritten.