|
Revision tags: llvmorg-20.1.0, llvmorg-20.1.0-rc3, llvmorg-20.1.0-rc2, llvmorg-20.1.0-rc1, llvmorg-21-init, llvmorg-19.1.7, llvmorg-19.1.6, llvmorg-19.1.5, llvmorg-19.1.4, llvmorg-19.1.3, llvmorg-19.1.2, llvmorg-19.1.1, llvmorg-19.1.0, llvmorg-19.1.0-rc4, llvmorg-19.1.0-rc3, llvmorg-19.1.0-rc2, llvmorg-19.1.0-rc1, llvmorg-20-init, llvmorg-18.1.8, llvmorg-18.1.7, llvmorg-18.1.6, llvmorg-18.1.5, llvmorg-18.1.4, llvmorg-18.1.3, llvmorg-18.1.2, llvmorg-18.1.1, llvmorg-18.1.0, llvmorg-18.1.0-rc4, llvmorg-18.1.0-rc3, llvmorg-18.1.0-rc2, llvmorg-18.1.0-rc1, llvmorg-19-init, llvmorg-17.0.6, llvmorg-17.0.5, llvmorg-17.0.4, llvmorg-17.0.3, llvmorg-17.0.2, llvmorg-17.0.1, llvmorg-17.0.0, llvmorg-17.0.0-rc4, llvmorg-17.0.0-rc3, llvmorg-17.0.0-rc2, llvmorg-17.0.0-rc1, llvmorg-18-init, llvmorg-16.0.6, llvmorg-16.0.5, llvmorg-16.0.4, llvmorg-16.0.3, llvmorg-16.0.2, llvmorg-16.0.1, llvmorg-16.0.0, llvmorg-16.0.0-rc4, llvmorg-16.0.0-rc3, llvmorg-16.0.0-rc2, llvmorg-16.0.0-rc1, llvmorg-17-init, llvmorg-15.0.7, llvmorg-15.0.6, llvmorg-15.0.5, llvmorg-15.0.4, llvmorg-15.0.3, llvmorg-15.0.2, llvmorg-15.0.1, llvmorg-15.0.0, llvmorg-15.0.0-rc3, llvmorg-15.0.0-rc2, llvmorg-15.0.0-rc1, llvmorg-16-init, llvmorg-14.0.6, llvmorg-14.0.5, llvmorg-14.0.4, llvmorg-14.0.3, llvmorg-14.0.2 |
|
| #
042dc3c4 |
| 25-Apr-2022 |
Hui Xie <[email protected]> |
[libc++] add zip_view and views::zip for C++23
- add zip_view and views::zip for C++23 - added unit tests - implemented section 5.6 (zip) in P2321R2
I used clang-format to format the files but they
[libc++] add zip_view and views::zip for C++23
- add zip_view and views::zip for C++23 - added unit tests - implemented section 5.6 (zip) in P2321R2
I used clang-format to format the files but they look nothing like the rest of the code base. Manually indenting each line to match the styles sounds like an impossible task. Is there any clang-format file which can format it reasonable similar to the rest of the code base so that I can manually format the rest lines that look weird?
Reviewed By: ldionne, #libc, philnik, var-const
Spies: Mordante, philnik, libcxx-commits, mgorny
Differential Revision: https://reviews.llvm.org/D122806
show more ...
|
|
Revision tags: llvmorg-14.0.1, llvmorg-14.0.0, llvmorg-14.0.0-rc4, llvmorg-14.0.0-rc3, llvmorg-14.0.0-rc2, llvmorg-14.0.0-rc1, llvmorg-15-init, llvmorg-13.0.1, llvmorg-13.0.1-rc3, llvmorg-13.0.1-rc2, llvmorg-13.0.1-rc1, llvmorg-13.0.0, llvmorg-13.0.0-rc4, llvmorg-13.0.0-rc3, llvmorg-13.0.0-rc2, llvmorg-13.0.0-rc1, llvmorg-14-init |
|
| #
2b424f4e |
| 14-Jul-2021 |
Louis Dionne <[email protected]> |
[libc++] Implement ranges::filter_view
Differential Revision: https://reviews.llvm.org/D109086
|
| #
e53c461b |
| 13-Apr-2022 |
Konstantin Varlamov <[email protected]> |
[libc++][ranges] Implement `lazy_split_view`.
Note that this class was called just `split_view` in the original One Ranges Proposal and was renamed to `lazy_split_view` by [P2210](https://wg21.link/
[libc++][ranges] Implement `lazy_split_view`.
Note that this class was called just `split_view` in the original One Ranges Proposal and was renamed to `lazy_split_view` by [P2210](https://wg21.link/p2210).
Co-authored-by: zoecarver <[email protected]>
Differential Revision: https://reviews.llvm.org/D107500
show more ...
|
| #
c00df57b |
| 05-Apr-2022 |
Hui Xie <[email protected]> |
[libc++] add global variable template std::views::empty
[libc++] add global variable template std::views::empty Note it is neither a range adaptor, nor a CPO. It is simplify a global variable templa
[libc++] add global variable template std::views::empty
[libc++] add global variable template std::views::empty Note it is neither a range adaptor, nor a CPO. It is simplify a global variable template.
Reviewed By: #libc, Mordante
Differential Revision: https://reviews.llvm.org/D122996
show more ...
|
| #
385cc25a |
| 25-Mar-2022 |
Louis Dionne <[email protected]> |
[libc++] Ensure that all public C++ headers include <__assert>
This patch changes the requirement for getting the declaration of the assertion handler from including <__assert> to including any publ
[libc++] Ensure that all public C++ headers include <__assert>
This patch changes the requirement for getting the declaration of the assertion handler from including <__assert> to including any public C++ header of the library. Note that C compatibility headers are excluded because we don't implement all the C headers ourselves -- some of them are taken straight from the C library, like assert.h.
It also adds a generated test to check it. Furthermore, this new generated test is designed in a way that will make it possible to replace almost all the existing test-generation scripts with this system in upcoming patches.
Differential Revision: https://reviews.llvm.org/D122506
show more ...
|
| #
1458458b |
| 07-Mar-2022 |
Nikolas Klauser <[email protected]> |
[libc++] Remove <utility> includes
Reviewed By: ldionne, Quuxplusone, #libc
Spies: libcxx-commits, arphaman
Differential Revision: https://reviews.llvm.org/D121054
|
| #
53406fb6 |
| 01-Feb-2022 |
Arthur O'Dwyer <[email protected]> |
[libc++] Guard much of std::ranges under _LIBCPP_HAS_NO_INCOMPLETE_RANGES.
The logic here is that we are disabling *only* things in `std::ranges::`. Everything in `std::` is permitted, including `de
[libc++] Guard much of std::ranges under _LIBCPP_HAS_NO_INCOMPLETE_RANGES.
The logic here is that we are disabling *only* things in `std::ranges::`. Everything in `std::` is permitted, including `default_sentinel`, `contiguous_iterator`, `common_iterator`, `projected`, `swappable`, and so on. Then, we include anything from `std::ranges::` that is required in order to make those things work: `ranges::swap`, `ranges::swap_ranges`, `input_range`, `ranges::begin`, `ranges::iter_move`, and so on. But then that's all. Everything else (including notably all of the "views" and the `std::views` namespace itself) is still locked up behind `_LIBCPP_HAS_NO_INCOMPLETE_RANGES`.
Differential Revision: https://reviews.llvm.org/D118736
show more ...
|
| #
55bd22f8 |
| 14-Feb-2022 |
Konstantin Varlamov <[email protected]> |
[libc++][ranges] Implement rbegin, rend, crbegin and crend.
Differential Revision: https://reviews.llvm.org/D119057
|
| #
44cdca37 |
| 02-Feb-2022 |
Arthur O'Dwyer <[email protected]> |
[libc++] Define `namespace views` in its own detail header.
Discovered in the comments on D118748: we would like this namespace to exist anytime Ranges exists, regardless of whether concepts syntax
[libc++] Define `namespace views` in its own detail header.
Discovered in the comments on D118748: we would like this namespace to exist anytime Ranges exists, regardless of whether concepts syntax is supported. Also, we'd like to fully granularize the <ranges> header, which means not putting any loose declarations at the top level.
Differential Revision: https://reviews.llvm.org/D118809
show more ...
|
| #
fa6b9e40 |
| 02-Feb-2022 |
Arthur O'Dwyer <[email protected]> |
[libc++] Normalize all our '#pragma GCC system_header', and regression-test.
Now we'll notice if a header forgets to include this magic phrase.
Differential Revision: https://reviews.llvm.org/D1188
[libc++] Normalize all our '#pragma GCC system_header', and regression-test.
Now we'll notice if a header forgets to include this magic phrase.
Differential Revision: https://reviews.llvm.org/D118800
show more ...
|
| #
823fa098 |
| 03-Feb-2022 |
Konstantin Varlamov <[email protected]> |
[libc++][ranges][NFC] Test the specializations of `tuple_{size,element}` for ranges.
Also update the synopsis in `<ranges>` to mention the specializations.
Differential Revision: https://reviews.ll
[libc++][ranges][NFC] Test the specializations of `tuple_{size,element}` for ranges.
Also update the synopsis in `<ranges>` to mention the specializations.
Differential Revision: https://reviews.llvm.org/D118686
show more ...
|
| #
38db42d0 |
| 02-Feb-2022 |
Arthur O'Dwyer <[email protected]> |
[libc++] [NFC] s/_LIBCPP_STD_VER > 17 && !defined(_LIBCPP_HAS_NO_CONCEPTS)/!defined(_LIBCPP_HAS_NO_CONCEPTS)/
Per Discord discussion, we're normalizing on a simple `!defined(_LIBCPP_HAS_NO_CONCEPTS)
[libc++] [NFC] s/_LIBCPP_STD_VER > 17 && !defined(_LIBCPP_HAS_NO_CONCEPTS)/!defined(_LIBCPP_HAS_NO_CONCEPTS)/
Per Discord discussion, we're normalizing on a simple `!defined(_LIBCPP_HAS_NO_CONCEPTS)` so that we can do a big search-and-replace for `!defined(_LIBCPP_HAS_NO_CONCEPTS)` back into `_LIBCPP_STD_VER > 17` when we're ready to abandon support for concept-syntax-less compilers.
Differential Revision: https://reviews.llvm.org/D118748
show more ...
|
| #
2eb2ff2a |
| 31-Jan-2022 |
Arthur O'Dwyer <[email protected]> |
[libc++] Merge _LIBCPP_HAS_NO_RANGES into _LIBCPP_HAS_NO_CONCEPTS. NFC.
The macro that opts out of `std::ranges::` functionality is called `_LIBCPP_HAS_NO_INCOMPLETE_RANGES`, and is unrelated to thi
[libc++] Merge _LIBCPP_HAS_NO_RANGES into _LIBCPP_HAS_NO_CONCEPTS. NFC.
The macro that opts out of `std::ranges::` functionality is called `_LIBCPP_HAS_NO_INCOMPLETE_RANGES`, and is unrelated to this macro which is specifically about _compiler_ support for the _syntax_.
The only non-mechanical diff here is in `<__config>`.
Differential Revision: https://reviews.llvm.org/D118507
show more ...
|
| #
67151d02 |
| 09-Jan-2022 |
Arthur O'Dwyer <[email protected]> |
[libc++] [ranges] Implement P2415R2 owning_view.
"What is a view?" http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p2415r2.html https://github.com/cplusplus/draft/pull/5010/files
This was a
[libc++] [ranges] Implement P2415R2 owning_view.
"What is a view?" http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p2415r2.html https://github.com/cplusplus/draft/pull/5010/files
This was a late-breaking (Oct 2021) change to C++20. The only thing missing from this patch is that we're supposed to bump the feature-test macro from #define __cpp_lib_ranges 202106L to #define __cpp_lib_ranges 202110L but we can't do that because we don't implement all of 202106 Ranges yet.
Differential Revision: https://reviews.llvm.org/D116894
show more ...
|
| #
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 ...
|
| #
dca681fe |
| 21-Nov-2021 |
Joe Loser <[email protected]> |
[libc++][NFC] Fix typo in ranges::iterator_t synopsis
The `iterator_t` alias template is on `T` not a `R` like the other neighboring alias templates. Fix the typo.
|
| #
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 ...
|
| #
dcbfceff |
| 10-Oct-2021 |
Mark de Wever <[email protected]> |
[libc++][nfc] Remove a duplicated include.
|
| #
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
|
| #
19e806e8 |
| 26-Aug-2021 |
Louis Dionne <[email protected]> |
[libc++][NFC] Sort headers alphabetically
|
| #
9ed07781 |
| 13-Aug-2021 |
zoecarver <[email protected]> |
[libcxx][ranges] Move `namespace views` into `namespace ranges` and add an alias.
Differential Revision: https://reviews.llvm.org/D108047
|
| #
df324bba |
| 06-Aug-2021 |
zoecarver <[email protected]> |
[libcxx][ranges] Add `ranges::join_view`.
Differential Revision: https://reviews.llvm.org/D107671
|
| #
7b20e05c |
| 03-Aug-2021 |
zoecarver <[email protected]> |
[libcxx][ranges] Add `ranges::iota_view`.
Differential Revision: https://reviews.llvm.org/D107396
|
| #
d2bc4fa3 |
| 11-Aug-2021 |
Mark de Wever <[email protected]> |
[libc++][doc] Improve contributor documentation.
Addresses the post-commit review comments of D107596.
|
| #
f9e58f35 |
| 27-Jul-2021 |
zoecarver <[email protected]> |
[libcxx][ranges] Add `views::counted` CPO.
Differential Revision: https://reviews.llvm.org/D106923
|