Revision tags: 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 |
|
#
6a54dfbf |
| 31-Jul-2024 |
Louis Dionne <ldionne.2@gmail.com> |
[libc++][NFC] Add missing license headers
Also standardize the license comment in several files where it was different from what we normally do.
|
Revision tags: 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 |
|
#
520c7fbb |
| 12-Jun-2023 |
Louis Dionne <ldionne.2@gmail.com> |
[libc++] Mark slow tests as unsupported on GCC
Some tests in our test suite are unbelievably slow on GCC due to the use of the always_inline attribute. See [1] for more details.
This patch introduc
[libc++] Mark slow tests as unsupported on GCC
Some tests in our test suite are unbelievably slow on GCC due to the use of the always_inline attribute. See [1] for more details.
This patch introduces the GCC-ALWAYS_INLINE-FIXME lit feature to disable tests that are plagued by that issue. At the same time, it moves several existing tests from ad-hoc `UNSUPPORTED: gcc-12` markup to the new GCC-ALWAYS_INLINE-FIXME feature, and marks the slowest tests reported by the CI as `UNSUPPORTED: GCC-ALWAYS_INLINE-FIXME`.
[1]: https://discourse.llvm.org/t/rfc-stop-supporting-extern-instantiations-with-gcc/71277/1
Differential Revision: https://reviews.llvm.org/D152736
show more ...
|
Revision tags: llvmorg-16.0.6, llvmorg-16.0.5 |
|
#
dff62f52 |
| 17-May-2023 |
Mark de Wever <koraq@xs4all.nl> |
[libc++][format] Removes the experimental status.
The code has been quite ready for a while now and there are no more ABI breaking papers. So this is a good time to mark the feature as stable.
Revi
[libc++][format] Removes the experimental status.
The code has been quite ready for a while now and there are no more ABI breaking papers. So this is a good time to mark the feature as stable.
Reviewed By: #libc, ldionne
Differential Revision: https://reviews.llvm.org/D150802
show more ...
|
Revision tags: llvmorg-16.0.4, llvmorg-16.0.3, llvmorg-16.0.2, llvmorg-16.0.1 |
|
#
f0fc8c48 |
| 18-Mar-2023 |
Louis Dionne <ldionne.2@gmail.com> |
[libc++] Use named Lit features to flag back-deployment XFAILs
Instead of writing something like `XFAIL: use_system_cxx_lib && target=...` to XFAIL back-deployment tests, introduce named Lit feature
[libc++] Use named Lit features to flag back-deployment XFAILs
Instead of writing something like `XFAIL: use_system_cxx_lib && target=...` to XFAIL back-deployment tests, introduce named Lit features like `availability-shared_mutex-missing` to represent those. This makes the XFAIL annotations leaner, and solves the problem of XFAIL comments potentially getting out of sync. This would also make it easier for another vendor to add their own annotations to the test suite by simply changing how the feature is defined for their OS releases, instead of having to modify hundreds of tests to add repetitive annotations.
This doesn't touch *all* annotations -- only annotations that were widely duplicated are given named features (e.g. when filesystem or shared_mutex were introduced). I still think it probably doesn't make sense to have a named feature for every single fix we make to the dylib.
This is in essence a revert of 2659663, but since then the test suite has changed significantly. Back when I did 2659663, the configuration files we have for the test suite right now were being bootstrapped and it wasn't clear how to provide these features for back-deployment in that context. Since then, we have a streamlined way of defining these features in `features.py` and that doesn't impact the ability for a configuration file to stay minimal.
The original motivation for this change was that I am about to propose a change that would touch essentially all XFAIL annotations for back-deployment in the test suite, and this greatly reduces the number of lines changed by that upcoming change, in addition to making the test suite generally better.
Differential Revision: https://reviews.llvm.org/D146359
show more ...
|
Revision tags: llvmorg-16.0.0 |
|
#
3d334df5 |
| 16-Mar-2023 |
Louis Dionne <ldionne.2@gmail.com> |
[libc++] Remove availability markup for std::format
std::format is currently experimental, so there is technically no deployment target requirement for it (since the only symbols required for it are
[libc++] Remove availability markup for std::format
std::format is currently experimental, so there is technically no deployment target requirement for it (since the only symbols required for it are in `libc++experimental.a`).
However, some parts of std::format depend indirectly on the floating point std::to_chars implementation, which does have deployment target requirements.
This patch removes all the availability format for std::format and updates the XFAILs in the tests to properly explain why they fail on old deployment targets, when they do. It also changes a couple of tests to avoid depending on floating-point std::to_chars when it isn't fundamental to the test.
Finally, some tests are marked as XFAIL but I added a comment saying
TODO FMT This test should not require std::to_chars(floating-point)
These tests do not fundamentally depend on floating-point std::to_chars, however they end up failing because calling std::format even without a floating-point argument to format will end up requiring floating-point std::to_chars. I believe this is an implementation artifact that could be avoided in all cases where we know the format string at compile-time. In the tests, I added the TODO comment only to the places where we could do better and actually avoid relying on floating-point std::to_chars because we know the format string at compile-time.
Differential Revision: https://reviews.llvm.org/D134598
show more ...
|
Revision tags: llvmorg-16.0.0-rc4, llvmorg-16.0.0-rc3, llvmorg-16.0.0-rc2, llvmorg-16.0.0-rc1, llvmorg-17-init |
|
#
5629d492 |
| 14-Jan-2023 |
varconst <varconsteq@gmail.com> |
Reapply "[libc++][ranges]Refactor `copy{,_backward}` and `move{,_backward}`"
This reverts commit a6e1080b87db8fbe0e1afadd96af5a3c0bd5e279.
Fix the conditions when the `memmove` optimization can be
Reapply "[libc++][ranges]Refactor `copy{,_backward}` and `move{,_backward}`"
This reverts commit a6e1080b87db8fbe0e1afadd96af5a3c0bd5e279.
Fix the conditions when the `memmove` optimization can be applied and refactor them out into a reusable type trait, fix and significantly expand the tests.
Differential Revision: https://reviews.llvm.org/D139235
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 |
|
#
a1beb0a3 |
| 17-Sep-2022 |
Mark de Wever <koraq@xs4all.nl> |
[libc++][format] Implements formattable concept.
This concept is introduced in P2286, but was implemented in libc++ before. This implementation was used in the library internally. This implementatio
[libc++][format] Implements formattable concept.
This concept is introduced in P2286, but was implemented in libc++ before. This implementation was used in the library internally. This implementation lacked the resolution of LWG3636. The original formatter had a non-const member function that wasn't trivial to make a const member. The recent parser improvements made this member a const member in preparation of LWG3636.
Note LWG3636 isn't voted in. Its status is Ready. P2286's concept has been written as-if LWG3636 is accepted and refers to that LWG issue.
Updates some tests make format a const member function and removes a tests that's mainly a duplicate of the formattable concept test.
Implements - LWG3636 formatter<T>::format should be const-qualified
Implements parts of - P2286R8 Formatting Ranges
Reviewed By: ldionne, #libc
Differential Revision: https://reviews.llvm.org/D134110
show more ...
|
Revision tags: 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, 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 |
|
#
606e2808 |
| 05-Oct-2021 |
Mark de Wever <koraq@xs4all.nl> |
[libc++][format] Use forwarding references.
This implements a not accepted LWG issue. Not doing so would require integral types to use the handle class instead of being directly stored in the basic_
[libc++][format] Use forwarding references.
This implements a not accepted LWG issue. Not doing so would require integral types to use the handle class instead of being directly stored in the basic_format_arg.
The previous code used `std::forward` in places where it wasn't required by the Standard. These are now removed.
Implements: - P2418R2 Add support for std::generator-like types to std::format - LWG 3631 basic_format_arg(T&&) should use remove_cvref_t<T> throughout
Reviewed By: ldionne, #libc
Differential Revision: https://reviews.llvm.org/D127570
show more ...
|