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 |
|
#
c20d81bd |
| 19-Jun-2023 |
Louis Dionne <ldionne.2@gmail.com> |
[libc++] Add missing [[maybe_unused]] attribute in format tests
Otherwise, Clang complains about format_ctx being unused in the tests when exceptions are disabled in Freestanding mode. I don't know
[libc++] Add missing [[maybe_unused]] attribute in format tests
Otherwise, Clang complains about format_ctx being unused in the tests when exceptions are disabled in Freestanding mode. I don't know why it doesn't complain not in freestanding mode.
Differential Revision: https://reviews.llvm.org/D153301
show more ...
|
#
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, llvmorg-16.0.0, llvmorg-16.0.0-rc4 |
|
#
9b43aede |
| 03-Mar-2023 |
Mark de Wever <koraq@xs4all.nl> |
[libc++][format] Implements LWG3892.
This LWG issue is based on the discussion regarding
P2733R3 Fix handling of empty specifiers in std::format
This paper was disussed and changed a few times i
[libc++][format] Implements LWG3892.
This LWG issue is based on the discussion regarding
P2733R3 Fix handling of empty specifiers in std::format
This paper was disussed and changed a few times in LEWG during the Issaquah meeting. The paper was not voted in, instead LEWG asked for a DR against C++26.
This LWG issue contains the direction voted by LEWG. This issue has not been voted in yet. However it fixes some of the defencies on the container based formatting. Without this fix the range-default-formatter for strings looks bad when used in containers.
The changes of this issue match the intended changes of P27333.
type fmt before after (if changed) --------------------------------------------------------------- char {} a char {:?} 'a' array<char, 1> {} ['a'] array<char, 1> {::} [a] array<char, 1> {::c} [a] array<char, 1> {::?} ['a'] map<char, char> {} {a: a} -> {'a': 'a'} map<char, char> {::} {'a': 'a'} set<char> {} {'a'} set<char> {::} {a} set<char> {::c} {a} set<char> {::?} {'a'} tuple<char> {} ('a') stack<char> {} ['a'] stack<char> {::} [a] stack<char> {::c} [a] stack<char> {::?} ['a'] array<array<char, 1>, 1> {} [[a]] -> {'a': 'a'} array<array<char, 1>, 1> {::} [['a']] array<array<char, 1>, 1> {:::} [[a]] array<array<char, 1>, 1> {:::c} [[a]] array<array<char, 1>, 1> {:::?} [['a']] array<tuple<char>, 1> {} [(a)] -> [('a')] tuple<tuple<char>> {} ((a)) -> (('a')) tuple<array<char, 1>> {} ([a]) -> (['a'])
Note the optimization text as mentioned in the tuple formatter can't be done. The call to parse may affect the formatter so its state needs to be preserved.
Reviewed By: ldionne, #libc, EricWF
Differential Revision: https://reviews.llvm.org/D145847
show more ...
|
#
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-rc3, llvmorg-16.0.0-rc2 |
|
#
9c8f3409 |
| 02-Feb-2023 |
Mark de Wever <koraq@xs4all.nl> |
[libc++][format] Fixes test failures.
Using some builds the modular build fails due to missing exports and includes. This fixes the build.
Reviewed By: #libc, ldionne
Differential Revision: https:
[libc++][format] Fixes test failures.
Using some builds the modular build fails due to missing exports and includes. This fixes the build.
Reviewed By: #libc, ldionne
Differential Revision: https://reviews.llvm.org/D143203
show more ...
|
Revision tags: 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, working, 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 |
|
#
af5fc4b4 |
| 05-May-2022 |
Mark de Wever <koraq@xs4all.nl> |
[libc++][format] range-default-formatter for map
Implements the range-default-formatter specialization range_format::map.
Implements parts of - P2286R8 Formatting Ranges - P2585R0 Improving default
[libc++][format] range-default-formatter for map
Implements the range-default-formatter specialization range_format::map.
Implements parts of - P2286R8 Formatting Ranges - P2585R0 Improving default container formatting
Depends on D140653
Reviewed By: ldionne, #libc
Differential Revision: https://reviews.llvm.org/D140801
show more ...
|
#
eb6e13cb |
| 05-May-2022 |
Mark de Wever <koraq@xs4all.nl> |
[libc++][format] Adds formatter for tuple and pair
Implements parts of - P2286R8 Formatting Ranges
Reviewed By: ldionne, #libc
Differential Revision: https://reviews.llvm.org/D136775
|