Revision tags: llvmorg-21-init, llvmorg-19.1.7 |
|
#
c91d805e |
| 10-Jan-2025 |
Jakub Mazurkiewicz <mazkuba3@gmail.com> |
[libc++] Implement std::not_fn<NTTP> (#86133)
Implement `std::not_fn<NTTP>` from "P2714R1 Bind front and back to NTTP callables".
|
Revision tags: 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 |
|
#
026210e8 |
| 28-Aug-2024 |
A. Jiang <de34@live.cn> |
[libc++][ranges] P2609R3: Relaxing Ranges Just A Smidge (#101715)
This patch implements https://wg21.link/p2609r3.
The test code was originally authored by JMazurkiewicz.
Notes:
- P2609R3 is no
[libc++][ranges] P2609R3: Relaxing Ranges Just A Smidge (#101715)
This patch implements https://wg21.link/p2609r3.
The test code was originally authored by JMazurkiewicz.
Notes:
- P2609R3 is not officially a Defect Report, but MSVC STL
implements it in C++20 mode.
Moreover, P2609R3 and P2997R1 touch exactly the same set of
concepts, and MSVC STL and libc++ have already treated P2997R1
as a DR.
- This patch also adjusted feature-test macros.
+ In C++20 mode, the value of __cpp_lib_ranges should be `202110L` because
- `202202L` covers `range_adaptor_closure` (P2387R3), and
- `202207L` covers move-only types in range adaptors (P2494R2).
And all of these changes are only available since C++23 mode.
+ In C++23 mode, the value should be `202406L` because
- `202211L` covers removing poison overloads (P2602R2),
- `202302L` covers relaxing projected value types (P2609R3), and
- `202406L` covers removing requirements on `iter_common_reference_t` (P2997R1).
And all of these changes are already or being implemented.
Fixes #105253.
Co-authored-by: Jakub Mazurkiewicz <mazkuba3@gmail.com>
show more ...
|
Revision tags: 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 |
|
#
8afa6cf5 |
| 09-May-2024 |
Hristo Hristov <hghristov.rmm@gmail.com> |
[libc++][functional] P2944R3 (partial): Comparisons for `reference_wrapper` (`reference_wrapper` operators only) (#88384)
Implements https://wg21.link/P2944R3 (partially)
Implements https://wg21.li
[libc++][functional] P2944R3 (partial): Comparisons for `reference_wrapper` (`reference_wrapper` operators only) (#88384)
Implements https://wg21.link/P2944R3 (partially)
Implements https://wg21.link/LWG4071 /
https://cplusplus.github.io/LWG/issue4071 (fixes build failures in the
test suite)
- https://eel.is/c++draft/refwrap.comparisons
show more ...
|
Revision tags: llvmorg-18.1.5, llvmorg-18.1.4 |
|
#
c8917048 |
| 09-Apr-2024 |
Jakub Mazurkiewicz <mazkuba3@gmail.com> |
[libc++] Implement `bind_back` (#81055)
Implement `std::bind_back` function from P2387R3 "Pipe support for
user-defined range adaptors".
|
#
b699a9ba |
| 03-Apr-2024 |
Louis Dionne <ldionne.2@gmail.com> |
[libc++] Update status page after the Tokyo meeting (#87395)
|
Revision tags: 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 |
|
#
9f6439f1 |
| 25-Jun-2023 |
yronglin <yronglin777@gmail.com> |
[libc++][ranges] Implement P2494R2 (Relaxing range adaptors to allow for move only types)
Implement P2494R2 `Relaxing range adaptors to allow for move only types`
https://open-std.org/jtc1/sc22/wg2
[libc++][ranges] Implement P2494R2 (Relaxing range adaptors to allow for move only types)
Implement P2494R2 `Relaxing range adaptors to allow for move only types`
https://open-std.org/jtc1/sc22/wg21/docs/papers/2022/p2494r2.html#wording-ftm
According to the words in P2494R2, I haven't add new test for `drop_while_view`, `take_while_view` and `filter_view`, because these views has the requirement that the predicate is an `indirect_unary_predicate`, which requires that the predicate is `copy_constructible`, so they still can't accept move only types as predicate.
``` [P2483R0] also suggests future work to relax the requirements on the predicate types stored by standard views. This paper does not perform this relaxation, as the copy constructibility requirement is enshrined in the indirect callable concepts ([indirectcallable.indirectinvocable]). Thus, while this paper modifies the views that currently use copyable-box for user provided predicates, it only does so to apply the rename of the exposition-only type to movable-box; it does not change any of the constraints on those views. It does, however, relax the requirements on invocables accepted by the transform family of views, because those are not constrained using the indirect callable concepts. ```
Reviewed By: #libc, var-const
Differential Revision: https://reviews.llvm.org/D151629
show more ...
|
#
3f05d044 |
| 17-Jun-2023 |
Mark de Wever <koraq@xs4all.nl> |
[libc++] Update status after Varna meeting.
This updates: - The status tables - Feature test macros - New headers for modules The latter avoids forgetting about modules when implementing the feature
[libc++] Update status after Varna meeting.
This updates: - The status tables - Feature test macros - New headers for modules The latter avoids forgetting about modules when implementing the feature in a new header.
Reviewed By: #libc, philnik
Differential Revision: https://reviews.llvm.org/D153192
show more ...
|
Revision tags: llvmorg-16.0.6, llvmorg-16.0.5 |
|
#
00c97cbc |
| 20-May-2023 |
Mark de Wever <koraq@xs4all.nl> |
[libc++] Adds C++26 support.
Clang has been updated to support C++26, this adds the same support for libc++. At the moment C++23 and C++26 are identical. During the next plenary in June the first C+
[libc++] Adds C++26 support.
Clang has been updated to support C++26, this adds the same support for libc++. At the moment C++23 and C++26 are identical. During the next plenary in June the first C++26 papers will be voted on.
Note like Clang this patch uses C++26 is the internal part and C++2c in the user visible part.
Depends on D150795
Reviewed By: ldionne, #libc
Differential Revision: https://reviews.llvm.org/D151026
show more ...
|
#
71400505 |
| 17-May-2023 |
Mark de Wever <koraq@xs4all.nl> |
[libc++] Updates C++2b to C++23.
During the ISO C++ Committee meeting plenary session the C++23 Standard has been voted as technical complete.
This updates the reference to c++2b to c++23 and updat
[libc++] Updates C++2b to C++23.
During the ISO C++ Committee meeting plenary session the C++23 Standard has been voted as technical complete.
This updates the reference to c++2b to c++23 and updates the __cplusplus macro.
Note since we use clang-tidy 16 a small work-around is needed. Clang knows -std=c++23 but clang-tidy not so for now force the lit compiler flag to use -std=c++2b instead of -std=c++23.
Reviewed By: #libc, philnik, jloser, ldionne
Differential Revision: https://reviews.llvm.org/D150795
show more ...
|
Revision tags: 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 |
|
#
87cc95a9 |
| 07-Feb-2023 |
Louis Dionne <ldionne.2@gmail.com> |
[libc++] Implement P2136R3 std::invoke_r
Differential Revision: https://reviews.llvm.org/D143610
|
Revision tags: llvmorg-16.0.0-rc1, llvmorg-17-init |
|
#
d94b069a |
| 18-Jan-2023 |
Konstantin Varlamov <varconst@apple.com> |
[libc++][ranges] Mark completed Ranges papers and issues as done, bump version macro
All C++20 Ranges papers and LWG issues are done, with the exception of https://wg21.link/P2210R2 ("Superior Strin
[libc++][ranges] Mark completed Ranges papers and issues as done, bump version macro
All C++20 Ranges papers and LWG issues are done, with the exception of https://wg21.link/P2210R2 ("Superior String Splitting"), and marked as such.
All of these were already implemented prior to this patch except bumping the feature test macro `__cpp_lib_ranges` as required by https://wg21.link/P2325R3 ("Views should not be required to be default constructible"). Note that, even though P2325R3 was voted into C++23, it was voted with a recommendation for vendors to retroactively apply the change to C++20 (see https://github.com/cplusplus/papers/issues/1007).
Differential Revision: https://reviews.llvm.org/D139900
show more ...
|
Revision tags: llvmorg-15.0.7, llvmorg-15.0.6, llvmorg-15.0.5, llvmorg-15.0.4, llvmorg-15.0.3, working, llvmorg-15.0.2, llvmorg-15.0.1, llvmorg-15.0.0, llvmorg-15.0.0-rc3 |
|
#
b8cb1dc9 |
| 18-Aug-2022 |
Louis Dionne <ldionne.2@gmail.com> |
[libc++] Make <ranges> non-experimental
When we ship LLVM 16, <ranges> won't be considered experimental anymore. We might as well do this sooner rather than later.
Differential Revision: https://re
[libc++] Make <ranges> non-experimental
When we ship LLVM 16, <ranges> won't be considered experimental anymore. We might as well do this sooner rather than later.
Differential Revision: https://reviews.llvm.org/D132151
show more ...
|
Revision tags: llvmorg-15.0.0-rc2 |
|
#
195287d9 |
| 06-Aug-2022 |
Mark de Wever <koraq@xs4all.nl> |
[libc++][ranges] Sets ranges feature-test macro.
D131234 marked the ranges papers as complete, but it didn't set the feature-test macro.
Reviewed By: ldionne, var-const, #libc
Differential Revisio
[libc++][ranges] Sets ranges feature-test macro.
D131234 marked the ranges papers as complete, but it didn't set the feature-test macro.
Reviewed By: ldionne, var-const, #libc
Differential Revision: https://reviews.llvm.org/D131326
show more ...
|
Revision tags: llvmorg-15.0.0-rc1, llvmorg-16-init, llvmorg-14.0.6 |
|
#
971e9c80 |
| 17-Jun-2022 |
Nikolas Klauser <nikolasklauser@berlin.de> |
[libc++] Implement std::boyer_moore{, _horspool}_searcher
This mostly copys the `<experimental/functional>` stuff and updates the code to current libc++ style.
Reviewed By: ldionne, #libc
Spies: n
[libc++] Implement std::boyer_moore{, _horspool}_searcher
This mostly copys the `<experimental/functional>` stuff and updates the code to current libc++ style.
Reviewed By: ldionne, #libc
Spies: nlopes, adamdebreceni, arichardson, libcxx-commits, mgorny
Differential Revision: https://reviews.llvm.org/D121074
show more ...
|
Revision tags: llvmorg-14.0.5, llvmorg-14.0.4, llvmorg-14.0.3, llvmorg-14.0.2, llvmorg-14.0.1 |
|
#
2c6217f2 |
| 11-Apr-2022 |
Louis Dionne <ldionne.2@gmail.com> |
[libc++] Make .version.pass.cpp tests be compile-only tests
We don't really need to run them.
|