|
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".
|
| #
b9a2658a |
| 21-Dec-2024 |
Nikolas Klauser <nikolasklauser@berlin.de> |
[libc++][C++03] Use `__cxx03/` headers in C++03 mode (#109002)
This patch implements the forwarding to frozen C++03 headers as discussed in https://discourse.llvm.org/t/rfc-freezing-c-03-headers-in-
[libc++][C++03] Use `__cxx03/` headers in C++03 mode (#109002)
This patch implements the forwarding to frozen C++03 headers as discussed in https://discourse.llvm.org/t/rfc-freezing-c-03-headers-in-libc. In the RFC, we initially proposed selecting the right headers from the Clang driver, however consensus seemed to steer towards handling this in the library itself. This patch implements that direction.
At a high level, the changes basically amount to making each public header look like this:
``` // inside <vector> #ifdef _LIBCPP_CXX03_LANG # include <__cxx03/vector> #else // normal <vector> content #endif ```
In most cases, public headers are simple umbrella headers so there isn't much code in the #else branch. In other cases, the #else branch contains the actual implementation of the header.
show more ...
|
|
Revision tags: llvmorg-19.1.6 |
|
| #
c166a9c7 |
| 10-Dec-2024 |
Nikolas Klauser <nikolasklauser@berlin.de> |
[libc++] Add #if 0 block to all the top-level headers (#119234)
Including The frozen C++03 headers results in a lot of formatting changes in the main headers, so this splits these changes into a sep
[libc++] Add #if 0 block to all the top-level headers (#119234)
Including The frozen C++03 headers results in a lot of formatting changes in the main headers, so this splits these changes into a separate commit instead.
This is part of https://discourse.llvm.org/t/rfc-freezing-c-03-headers-in-libc.
show more ...
|
|
Revision tags: llvmorg-19.1.5, llvmorg-19.1.4, llvmorg-19.1.3 |
|
| #
2e43a304 |
| 25-Oct-2024 |
Nikolas Klauser <nikolasklauser@berlin.de> |
[libc++] Granularize <vector> (#99705)
| | old time | new time |
| ------------------ | -------- | -------- |
| functional - c++23 | 416ms | 225ms |
| random - c++23
[libc++] Granularize <vector> (#99705)
| | old time | new time |
| ------------------ | -------- | -------- |
| functional - c++23 | 416ms | 225ms |
| random - c++23 | 513ms | 392ms |
| vector - c++17 | 206ms | 100ms |
show more ...
|
| #
a061d4d5 |
| 15-Oct-2024 |
A. Jiang <de34@live.cn> |
[libc++] Fix expression-equivalence for `mem_fn` (#111307)
Previously, SFINAE constraints and exception specification propagation
were missing in the return type of libc++'s `std::mem_fn`. The
req
[libc++] Fix expression-equivalence for `mem_fn` (#111307)
Previously, SFINAE constraints and exception specification propagation
were missing in the return type of libc++'s `std::mem_fn`. The
requirements on expression-equivalence (or even plain "equivalent" in
pre-C++20 specification) in [func.memfn] are actually requiring them.
This PR adds the missed stuffs. Fixes #86043.
Drive-by changes:
- removing no longer used `__invoke_return`,
- updating synopsis comments in several files, and
- merging several test files for `mem_fn` into one.
show more ...
|
|
Revision tags: 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 |
|
| #
dfddc0c4 |
| 18-Jul-2024 |
Nikolas Klauser <nikolasklauser@berlin.de> |
[libc++] Include the rest of the detail headers by version in the umbrella headers (#96032)
This is a follow-up to #83740.
|
|
Revision tags: 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".
|
|
Revision tags: llvmorg-18.1.3, llvmorg-18.1.2, llvmorg-18.1.1 |
|
| #
37dca605 |
| 29-Feb-2024 |
Louis Dionne <ldionne.2@gmail.com> |
[libc++] Clean up includes of <__assert> (#80091)
Originally, we used __libcpp_verbose_abort to handle assertion failures.
That function was declared from all public headers. Since we don't use
th
[libc++] Clean up includes of <__assert> (#80091)
Originally, we used __libcpp_verbose_abort to handle assertion failures.
That function was declared from all public headers. Since we don't use
that mechanism anymore, we don't need to declare __libcpp_verbose_abort
from all public headers, and we can clean up a lot of unnecessary
includes.
This patch also moves the definition of the various assertion categories
to the <__assert> header, since we now rely on regular IWYU for these
assertion macros.
rdar://105510916
show more ...
|
|
Revision tags: 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 |
|
| #
a65070a7 |
| 29-Oct-2023 |
philnik777 <nikolasklauser@berlin.de> |
[libc++] Remove a few transitive includes (#70553)
|
|
Revision tags: llvmorg-17.0.3 |
|
| #
d95a6c94 |
| 11-Oct-2023 |
Louis Dionne <ldionne.2@gmail.com> |
[libc++][NFC] Fix typo in synopsis comment
|
|
Revision tags: 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 |
|
| #
b5270ba2 |
| 29-Jun-2023 |
varconst <varconsteq@gmail.com> |
[libc++] Remove the legacy debug mode.
See https://discourse.llvm.org/t/rfc-removing-the-legacy-debug-mode-from-libc/71026
Reviewed By: #libc, Mordante, ldionne
Differential Revision: https://revi
[libc++] Remove the legacy debug mode.
See https://discourse.llvm.org/t/rfc-removing-the-legacy-debug-mode-from-libc/71026
Reviewed By: #libc, Mordante, ldionne
Differential Revision: https://reviews.llvm.org/D153672
show more ...
|
| #
9a6ca673 |
| 12-Jun-2023 |
Hristo Hristov <zingam@outlook.com> |
[libc++][spaceship] P1614R2: Removed `operator!=` from `functional`
Implements parts of P1614R2: - Removed `operator!=` from `functional`
Reviewed By: #libc, Mordante
Differential Revision: https:
[libc++][spaceship] P1614R2: Removed `operator!=` from `functional`
Implements parts of P1614R2: - Removed `operator!=` from `functional`
Reviewed By: #libc, Mordante
Differential Revision: https://reviews.llvm.org/D152704
show more ...
|
|
Revision tags: llvmorg-16.0.6, llvmorg-16.0.5, llvmorg-16.0.4, llvmorg-16.0.3 |
|
| #
b7932803 |
| 20-Apr-2023 |
Mark de Wever <koraq@xs4all.nl> |
[libc++] Moves unwrap_reference to type_traits.
This was discovered while working on modules.
Reviewed By: #libc, philnik
Differential Revision: https://reviews.llvm.org/D149351
|
|
Revision tags: 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 |
|
| #
75196f8e |
| 08-Jan-2023 |
Nikolas Klauser <nikolasklauser@berlin.de> |
[libc++] Remove <cstdlib> includes
We changed the `abort` calls when trying to throw exceptions in `-fno-exceptions` mode to `__verbose_abort` calls, which removes the dependency in most files.
Rev
[libc++] Remove <cstdlib> includes
We changed the `abort` calls when trying to throw exceptions in `-fno-exceptions` mode to `__verbose_abort` calls, which removes the dependency in most files.
Reviewed By: ldionne, #libc
Spies: dim, emaste, mikhail.ramalho, smeenai, libcxx-commits
Differential Revision: https://reviews.llvm.org/D146076
show more ...
|
| #
c9d36bd8 |
| 01-Mar-2023 |
Nikolas Klauser <nikolasklauser@berlin.de> |
[libc++] Granularize <exception> includes
Reviewed By: ldionne, #libc
Spies: mikhail.ramalho, smeenai, libcxx-commits
Differential Revision: https://reviews.llvm.org/D146097
|
| #
70617a1a |
| 31-Jan-2023 |
Nikolas Klauser <nikolasklauser@berlin.de> |
[libc++] Granularize <atomic> includes
Reviewed By: ldionne, Mordante, #libc
Spies: arichardson, libcxx-commits
Differential Revision: https://reviews.llvm.org/D144255
|
| #
0a4aa8a1 |
| 12-Feb-2023 |
Nikolas Klauser <nikolasklauser@berlin.de> |
[libc++] Granularize <type_traits> includes
Reviewed By: ldionne, #libc, #libc_abi
Spies: #libc_vendors, smeenai, libcxx-commits
Differential Revision: https://reviews.llvm.org/D145320
|
| #
de6827b5 |
| 24-Feb-2023 |
Mark de Wever <koraq@xs4all.nl> |
[libc++] Improves clang-format settings.
Add a new test based .clang-format file which inherits from the generic one. This moves some test specific formatting rules to the test directory.
The main
[libc++] Improves clang-format settings.
Add a new test based .clang-format file which inherits from the generic one. This moves some test specific formatting rules to the test directory.
The main benefit is that headers are sorted, which makes it more likely to catch these errors before creating a review instead of spotting the error in the CI clang-tidy step.
Reviewed By: ldionne, philnik, #libc
Differential Revision: https://reviews.llvm.org/D144755
show more ...
|
| #
b1e09b5f |
| 17-Feb-2023 |
Nikolas Klauser <nikolasklauser@berlin.de> |
[libc++][NFC] Remove TODOs that are already done
|
| #
87cc95a9 |
| 07-Feb-2023 |
Louis Dionne <ldionne.2@gmail.com> |
[libc++] Implement P2136R3 std::invoke_r
Differential Revision: https://reviews.llvm.org/D143610
|
| #
76804e89 |
| 21-Jan-2023 |
Mark de Wever <koraq@xs4all.nl> |
[libc++] Addresses LWG3764.
LWG3764 reference_wrapper::operator() should propagate noexcept
As drive-by adds constexpr to the synopsis, since it has already been implemented.
Reviewed By: #libc,
[libc++] Addresses LWG3764.
LWG3764 reference_wrapper::operator() should propagate noexcept
As drive-by adds constexpr to the synopsis, since it has already been implemented.
Reviewed By: #libc, ldionne
Differential Revision: https://reviews.llvm.org/D142814
show more ...
|
|
Revision tags: llvmorg-15.0.6, llvmorg-15.0.5 |
|
| #
89b356f0 |
| 02-Nov-2022 |
Nikolas Klauser <nikolasklauser@berlin.de> |
[libc++] Granularize <concept> includes
Reviewed By: ldionne, #libc
Spies: libcxx-commits
Differential Revision: https://reviews.llvm.org/D137283
|
|
Revision tags: llvmorg-15.0.4, llvmorg-15.0.3, working, llvmorg-15.0.2, llvmorg-15.0.1 |
|
| #
7afa1598 |
| 17-Sep-2022 |
Nikolas Klauser <nikolasklauser@berlin.de> |
[libc++] Avoid including <tuple> in compressed_pair.h
compressed_pair is widely used in the library, but most of the uses don't use the tuple parts. To avoid including <tuple> everywhere, use the fo
[libc++] Avoid including <tuple> in compressed_pair.h
compressed_pair is widely used in the library, but most of the uses don't use the tuple parts. To avoid including <tuple> everywhere, use the forward declaration instead in compressed_pair.h
Reviewed By: ldionne, #libc
Spies: libcxx-commits
Differential Revision: https://reviews.llvm.org/D133331
show more ...
|
|
Revision tags: llvmorg-15.0.0 |
|
| #
d5e26775 |
| 04-Sep-2022 |
Nikolas Klauser <nikolasklauser@berlin.de> |
[libc++] Granularize the rest of memory
Reviewed By: ldionne, #libc
Spies: vitalybuka, paulkirth, libcxx-commits, mgorny
Differential Revision: https://reviews.llvm.org/D132790
|