|
Revision tags: llvmorg-13.0.1, llvmorg-13.0.1-rc3 |
|
| #
d3729bb3 |
| 14-Jan-2022 |
Nikolas Klauser <[email protected]> |
[libc++][ranges] Add ranges::in_in_result
Add `std::ranges::in_in_result`
Reviewed By: Quuxplusone, Mordante, #libc
Spies: ldionne, libcxx-commits, mgorny
Differential Revision: https://reviews.l
[libc++][ranges] Add ranges::in_in_result
Add `std::ranges::in_in_result`
Reviewed By: Quuxplusone, Mordante, #libc
Spies: ldionne, libcxx-commits, mgorny
Differential Revision: https://reviews.llvm.org/D116278
show more ...
|
|
Revision tags: llvmorg-13.0.1-rc2 |
|
| #
8d23b742 |
| 11-Jan-2022 |
Konstantin Varlamov <[email protected]> |
[libc++][ranges] Implement `uninitialized_copy{,_n}` and `uninitialized_move{,_n}`.
Also implement `in_out_result` which is a prerequisite.
Differential Revision: https://reviews.llvm.org/D116023
|
| #
4d81a46f |
| 07-Jan-2022 |
Arthur O'Dwyer <[email protected]> |
[libc++] Alphabetize header #includes. NFCI.
The NFC part of D116809. We still want to enforce this in CI, but the mechanism for that is still to-be-determined.
Differential Revision: https://revie
[libc++] Alphabetize header #includes. NFCI.
The NFC part of D116809. We still want to enforce this in CI, but the mechanism for that is still to-be-determined.
Differential Revision: https://reviews.llvm.org/D116809
show more ...
|
| #
cf54cb2e |
| 03-Jan-2022 |
Nikolas Klauser <[email protected]> |
[libc++][NFC] Remove duplicate header includes from <algorithm> and reorder them
Remove duplicate header includes from `<algorithm>` and reorder the includes
Reviewed By: Quuxplusone, ldionne, Mord
[libc++][NFC] Remove duplicate header includes from <algorithm> and reorder them
Remove duplicate header includes from `<algorithm>` and reorder the includes
Reviewed By: Quuxplusone, ldionne, Mordante, #libc, jloser
Spies: jloser, libcxx-commits
Differential Revision: https://reviews.llvm.org/D116507
show more ...
|
|
Revision tags: llvmorg-13.0.1-rc1 |
|
| #
eb8650a7 |
| 17-Nov-2021 |
Louis Dionne <[email protected]> |
[runtimes][NFC] Remove filenames at the top of the license notice
We've stopped doing it in libc++ for a while now because these names would end up rotting as we move things around and copy/paste st
[runtimes][NFC] Remove filenames at the top of the license notice
We've stopped doing it in libc++ for a while now because these names would end up rotting as we move things around and copy/paste stuff. This cleans up all the existing files so as to stop the spreading as people copy-paste headers around.
show more ...
|
|
Revision tags: llvmorg-13.0.0, llvmorg-13.0.0-rc4, llvmorg-13.0.0-rc3 |
|
| #
64184b4a |
| 26-Aug-2021 |
Louis Dionne <[email protected]> |
[libc++][NFC] Remove useless _LIBCPP_PUSH_MACROS
Only files that actually use min/max are required to do this dance.
Differential Revision: https://reviews.llvm.org/D108778
|
|
Revision tags: llvmorg-13.0.0-rc2, llvmorg-13.0.0-rc1, llvmorg-14-init, llvmorg-12.0.1, llvmorg-12.0.1-rc4, llvmorg-12.0.1-rc3, llvmorg-12.0.1-rc2 |
|
| #
6adbc83e |
| 05-Jun-2021 |
Christopher Di Bella <[email protected]> |
[libcxx][modularisation] moves <utility> content out of <type_traits>
Moves:
* `std::move`, `std::forward`, `std::declval`, and `std::swap` into `__utility/${FUNCTION_NAME}`. * `std::swap_ranges`
[libcxx][modularisation] moves <utility> content out of <type_traits>
Moves:
* `std::move`, `std::forward`, `std::declval`, and `std::swap` into `__utility/${FUNCTION_NAME}`. * `std::swap_ranges` and `std::iter_swap` into `__algorithm/${FUNCTION_NAME}`
Differential Revision: https://reviews.llvm.org/D103734
show more ...
|
| #
134723ed |
| 17-Jun-2021 |
Louis Dionne <[email protected]> |
[libcxx] Move all algorithms into their own headers
This is a fairly mechanical change, it just moves each algorithm into its own header. This is intended to be a NFC.
This commit re-applies 7ed7d4
[libcxx] Move all algorithms into their own headers
This is a fairly mechanical change, it just moves each algorithm into its own header. This is intended to be a NFC.
This commit re-applies 7ed7d4ccb899, which was reverted in 692d7166f771 because the Modules build got broken. The modules build has now been fixed, so we're re-committing this.
Differential Revision: https://reviews.llvm.org/D103583
Attribution note ---------------- I'm only committing this. This commit is a mix of D103583, D103330 and D104171 authored by:
Co-authored-by: Christopher Di Bella <[email protected]> Co-authored-by: zoecarver <[email protected]>
show more ...
|
| #
692d7166 |
| 07-Jun-2021 |
Petr Hosek <[email protected]> |
Revert "[libcxx][gardening] Move all algorithms into their own headers."
This reverts commit 7ed7d4ccb8991e2b5b95334b508f8cec2faee737 as it uncovered a Clang bug PR50592.
|
| #
7ed7d4cc |
| 03-Jun-2021 |
zoecarver <[email protected]> |
[libcxx][gardening] Move all algorithms into their own headers.
This is a fairly mechanical change, it just moves each algorithm into its own header. This is a NFC.
Note: during this change, I burn
[libcxx][gardening] Move all algorithms into their own headers.
This is a fairly mechanical change, it just moves each algorithm into its own header. This is a NFC.
Note: during this change, I burned down all the includes, so this follows "include only and exactly what you use."
Differential Revision: https://reviews.llvm.org/D103583
show more ...
|
| #
05d164b2 |
| 02-Jun-2021 |
Louis Dionne <[email protected]> |
Revert "[libc++] NFC: Move unwrap_iter to its own header"
This reverts commit 924ea3bb53 *again*, this time because it broke the LLDB build with modules. We need to figure out what's up with the lib
Revert "[libc++] NFC: Move unwrap_iter to its own header"
This reverts commit 924ea3bb53 *again*, this time because it broke the LLDB build with modules. We need to figure out what's up with the libc++ modules build once and for all.
Differential Revision: https://reviews.llvm.org/D103369
show more ...
|
| #
924ea3bb |
| 31-May-2021 |
Louis Dionne <[email protected]> |
[libc++] NFC: Move unwrap_iter to its own header
This re-applies 9968896cd62a, which was reverted in b13edf6e907b because it broke the build.
Differential Revision: https://reviews.llvm.org/D103369
|
|
Revision tags: llvmorg-12.0.1-rc1 |
|
| #
bfbd73f8 |
| 19-May-2021 |
Arthur O'Dwyer <[email protected]> |
[libc++] Alphabetize and include-what-you-use. NFCI.
Differential Revision: https://reviews.llvm.org/D102781
|
| #
b13edf6e |
| 29-May-2021 |
Mark de Wever <[email protected]> |
Revert "[libc++] NFC: Move unwrap_iter to its own header"
This reverts commit 9968896cd62a62b11ac61085534dd598c4bd3c60.
This commit seems to cause the build failures of main.
|
| #
9968896c |
| 28-May-2021 |
Louis Dionne <[email protected]> |
[libc++] NFC: Move unwrap_iter to its own header
|
| #
6491d99e |
| 10-May-2021 |
Arthur O'Dwyer <[email protected]> |
[libc++] Remove more unnecessary _VSTD:: from type names. NFCI.
Differential Revision: https://reviews.llvm.org/D102181
|
| #
ab3fcc50 |
| 10-May-2021 |
Arthur O'Dwyer <[email protected]> |
[libc++] s/_VSTD::declval/declval/g. NFCI.
|
| #
cfef7c91 |
| 09-May-2021 |
Mark de Wever <[email protected]> |
[libc++][NFC] Remove _VSTD:: when not needed.
Reviewed By: #libc, Quuxplusone
Differential Revision: https://reviews.llvm.org/D102133
|
| #
4cd6ca10 |
| 20-Apr-2021 |
Louis Dionne <[email protected]> |
[libc++] NFC: Normalize `#endif //` comment indentation
|
|
Revision tags: llvmorg-12.0.0, llvmorg-12.0.0-rc5, llvmorg-12.0.0-rc4, llvmorg-12.0.0-rc3, llvmorg-12.0.0-rc2 |
|
| #
85167fb7 |
| 03-Feb-2021 |
Arthur O'Dwyer <[email protected]> |
[libc++] Further improve the contiguous-iterator story, and fix some bugs.
- Quality-of-implementation: Avoid calling __unwrap_iter in constexpr contexts. The user might conceivably write a cont
[libc++] Further improve the contiguous-iterator story, and fix some bugs.
- Quality-of-implementation: Avoid calling __unwrap_iter in constexpr contexts. The user might conceivably write a contiguous iterator where normal iterator arithmetic is constexpr-friendly but `std::to_address(it)` isn't.
- Bugfix: When you pass contiguous iterators to `std::copy`, you should get back your contiguous iterator type, not a raw pointer. That means that libc++ can't `__unwrap_iter` unless it also does `__rewrap_iter`. Fortunately, this is implementable.
- Improve test coverage of the new `contiguous_iterator` test iterator. This catches the bug described above.
- Tests: Stop testing that we can `std::copy` //into// an `input_iterator`. Our test iterators may currently support that, but it seems nonsensical to me.
Differential Revision: https://reviews.llvm.org/D95983
show more ...
|
| #
5d956563 |
| 04-Feb-2021 |
Arthur O'Dwyer <[email protected]> |
Revert "Revert "[libc++] [P0879] constexpr std::nth_element, and rewrite its tests.""
This reverts commit b6ffece32035a90d181101f356bd9c04ea1d3122.
The bug is now fixed (it was a stupid cut-and-pas
Revert "Revert "[libc++] [P0879] constexpr std::nth_element, and rewrite its tests.""
This reverts commit b6ffece32035a90d181101f356bd9c04ea1d3122.
The bug is now fixed (it was a stupid cut-and-paste kind of error), and the regression test added. The new patch is also simpler than the old one!
Differential Revision: https://reviews.llvm.org/D96084
show more ...
|
| #
b6ffece3 |
| 04-Feb-2021 |
Jordan Rupprecht <[email protected]> |
Revert "[libc++] [P0879] constexpr std::nth_element, and rewrite its tests."
This reverts commit 207d4be4d9d39fbb9aca30e5d5d11245db9bccc1 due to returning incorrect results. Regression test case pos
Revert "[libc++] [P0879] constexpr std::nth_element, and rewrite its tests."
This reverts commit 207d4be4d9d39fbb9aca30e5d5d11245db9bccc1 due to returning incorrect results. Regression test case posted in D96074.
show more ...
|
|
Revision tags: llvmorg-11.1.0, llvmorg-11.1.0-rc3, llvmorg-12.0.0-rc1, llvmorg-13-init, llvmorg-11.1.0-rc2, llvmorg-11.1.0-rc1 |
|
| #
493f1407 |
| 20-Dec-2020 |
Arthur O'Dwyer <[email protected]> |
[libc++] [P0879] constexpr std::sort
This completes libc++'s implementation of P0879 "Constexpr for swap and swap related functions." http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0879r0.
[libc++] [P0879] constexpr std::sort
This completes libc++'s implementation of P0879 "Constexpr for swap and swap related functions." http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0879r0.html
For the feature-macro adjustment, see https://cplusplus.github.io/LWG/issue3256
Differential Revision: https://reviews.llvm.org/D93661
show more ...
|
| #
d41c6d51 |
| 15-Jan-2021 |
Arthur O'Dwyer <[email protected]> |
[libc++] Rationalize our treatment of contiguous iterators and __unwrap_iter().
- Implement C++20's changes to `reverse_iterator`, so that it won't be accidentally counted as a contiguous iterat
[libc++] Rationalize our treatment of contiguous iterators and __unwrap_iter().
- Implement C++20's changes to `reverse_iterator`, so that it won't be accidentally counted as a contiguous iterator in C++20 mode. - Implement C++20's changes to `move_iterator` as well. - `move_iterator` should not be contiguous. This fixes a bug where we optimized `std::copy`-of-move-iterators in an observable way. Add a regression test for that bugfix. - Add libcxx tests for `__is_cpp17_contiguous_iterator` of all relevant standard iterator types. Particularly check that vector::iterator is still considered contiguous in all C++ modes, even C++03.
After this patch, there continues to be no supported way to write your own iterator type in C++17-and-earlier such that libc++ will consider it "contiguous"; however, we now fully support the C++20 approach (in C++20 mode only). If you want user-defined contiguous iterators in C++17-and-earlier, libc++'s position is "please upgrade to C++20."
Differential Revision: https://reviews.llvm.org/D94807
show more ...
|
|
Revision tags: llvmorg-11.0.1, llvmorg-11.0.1-rc2 |
|
| #
207d4be4 |
| 17-Dec-2020 |
Arthur O'Dwyer <[email protected]> |
[libc++] [P0879] constexpr std::nth_element, and rewrite its tests.
This patch is more than just adding the `constexpr` keyword, because the old code relied on `goto`, and `goto` is not constexpr-fr
[libc++] [P0879] constexpr std::nth_element, and rewrite its tests.
This patch is more than just adding the `constexpr` keyword, because the old code relied on `goto`, and `goto` is not constexpr-friendly. Refactor to eliminate `goto`, and then mark it as constexpr in C++20.
I freely admit that the name `__nth_element_partloop` is bad; I couldn't find any better name because I don't really know what this loop is doing, conceptually. Vice versa, I think `__nth_element_find_guard` has a decent name.
Now the only one we're still missing from P0879 is `sort`.
Differential Revision: https://reviews.llvm.org/D93557
show more ...
|