Revision tags: llvmorg-21-init |
|
#
14b44179 |
| 25-Jan-2025 |
Mark de Wever <koraq@xs4all.nl> |
[libc++][format][3/3] Improves formatting performance. (#108990)
This changes the __output_buffer to a new structure. This improves the
performace of std::format, std::format_to, std::format_to_n,
[libc++][format][3/3] Improves formatting performance. (#108990)
This changes the __output_buffer to a new structure. This improves the
performace of std::format, std::format_to, std::format_to_n, and
std::formatted_size.
show more ...
|
Revision tags: llvmorg-19.1.7 |
|
#
f6958523 |
| 08-Jan-2025 |
Nikolas Klauser <nikolasklauser@berlin.de> |
[libc++] Put _LIBCPP_NODEBUG on all internal aliases (#118710)
This significantly reduces the amount of debug information generated
for codebases using libc++, without hurting the debugging experie
[libc++] Put _LIBCPP_NODEBUG on all internal aliases (#118710)
This significantly reduces the amount of debug information generated
for codebases using libc++, without hurting the debugging experience.
show more ...
|
Revision tags: llvmorg-19.1.6, llvmorg-19.1.5, llvmorg-19.1.4 |
|
#
e99c4906 |
| 31-Oct-2024 |
Nikolas Klauser <nikolasklauser@berlin.de> |
[libc++] Granularize <cstddef> includes (#108696)
|
Revision tags: llvmorg-19.1.3, llvmorg-19.1.2, llvmorg-19.1.1, llvmorg-19.1.0, llvmorg-19.1.0-rc4 |
|
#
348e7413 |
| 30-Aug-2024 |
Louis Dionne <ldionne.2@gmail.com> |
[libc++][NFC] Run clang-format on libcxx/include
This re-formats a few headers that had become out-of-sync with respect to formatting since we ran clang-format on the whole codebase. There's surpris
[libc++][NFC] Run clang-format on libcxx/include
This re-formats a few headers that had become out-of-sync with respect to formatting since we ran clang-format on the whole codebase. There's surprisingly few instances of it.
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, 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 |
|
#
4f215fdd |
| 06-Jan-2024 |
Konstantin Varlamov <varconsteq@gmail.com> |
[libc++][hardening] Categorize more assertions. (#75918)
Also introduce `_LIBCPP_ASSERT_PEDANTIC` for assertions violating which
results in a no-op or other benign behavior, but which may neverthel
[libc++][hardening] Categorize more assertions. (#75918)
Also introduce `_LIBCPP_ASSERT_PEDANTIC` for assertions violating which
results in a no-op or other benign behavior, but which may nevertheless
indicate a bug in the invoking code.
show more ...
|
#
9783f28c |
| 18-Dec-2023 |
Louis Dionne <ldionne.2@gmail.com> |
[libc++] Format the code base (#74334)
This patch runs clang-format on all of libcxx/include and libcxx/src, in
accordance with the RFC discussed at [1]. Follow-up patches will format
the benchmar
[libc++] Format the code base (#74334)
This patch runs clang-format on all of libcxx/include and libcxx/src, in
accordance with the RFC discussed at [1]. Follow-up patches will format
the benchmarks, the test suite and remaining parts of the code. I'm
splitting this one into its own patch so the diff is a bit easier to
review.
This patch was generated with:
find libcxx/include libcxx/src -type f \
| grep -v 'module.modulemap.in' \
| grep -v 'CMakeLists.txt' \
| grep -v 'README.txt' \
| grep -v 'libcxx.imp' \
| grep -v '__config_site.in' \
| xargs clang-format -i
A Git merge driver is available in libcxx/utils/clang-format-merge-driver.sh
to help resolve merge and rebase issues across these formatting changes.
[1]: https://discourse.llvm.org/t/rfc-clang-formatting-all-of-libc-once-and-for-all
show more ...
|
#
a35629cd |
| 18-Dec-2023 |
Louis Dionne <ldionne.2@gmail.com> |
[libc++] Remove assumptions that std::array::iterator is a raw pointer (#74624)
This patch removes assumptions that std::array's iterators are raw
pointers in the source code and in our test suite.
[libc++] Remove assumptions that std::array::iterator is a raw pointer (#74624)
This patch removes assumptions that std::array's iterators are raw
pointers in the source code and in our test suite. While this is true
right now, this doesn't have to be true and ion the future we might want
to enable bounded iterators in std::array, which would require this
change.
This is a pre-requisite for landing #74482
show more ...
|
#
77a00c0d |
| 05-Dec-2023 |
Louis Dionne <ldionne.2@gmail.com> |
[libc++] Replace uses of _VSTD:: by std:: (#74331)
As part of the upcoming clang-formatting of libc++, this patch performs
the long desired removal of the _VSTD macro.
See https://discourse.llvm
[libc++] Replace uses of _VSTD:: by std:: (#74331)
As part of the upcoming clang-formatting of libc++, this patch performs
the long desired removal of the _VSTD macro.
See https://discourse.llvm.org/t/rfc-clang-formatting-all-of-libc-once-and-for-all
for the clang-format proposal.
show more ...
|
Revision tags: 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 |
|
#
b397921f |
| 31-Aug-2023 |
Louis Dionne <ldionne.2@gmail.com> |
[runtimes] Fix some duplicate word typos
Those fixes were taken from https://reviews.llvm.org/D137338.
|
Revision tags: 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 |
|
#
3f65f718 |
| 21-Apr-2023 |
Mark de Wever <koraq@xs4all.nl> |
[libc++][print] Adds FILE functions.
Drive-by fix to make sure the __retarget_buffer works correctly whan using a hint of 1. This was discovered in one of the new tests.
Drive-by fixes __retarget_b
[libc++][print] Adds FILE functions.
Drive-by fix to make sure the __retarget_buffer works correctly whan using a hint of 1. This was discovered in one of the new tests.
Drive-by fixes __retarget_buffer when initialized with size 1.
Implements parts of - P2093R14 Formatted output - P2539R4 Should the output of std::print to a terminal be synchronized with the underlying stream?
Reviewed By: #libc, ldionne
Differential Revision: https://reviews.llvm.org/D150044
show more ...
|
#
7583c73b |
| 07-Jul-2023 |
Mark de Wever <koraq@xs4all.nl> |
[libc++][format] Fixes an off by one error.
The post-condition on the functions is that the buffer is not full. This post-conditon is used as pre-condition of the push_back function. When a copy, fi
[libc++][format] Fixes an off by one error.
The post-condition on the functions is that the buffer is not full. This post-conditon is used as pre-condition of the push_back function. When a copy, fill, of transform function exactly fit in the buffer this post-condition was validated.
Reviewed By: #libc, ldionne
Differential Revision: https://reviews.llvm.org/D155397
show more ...
|
#
2c07ca85 |
| 16-Jul-2023 |
Mark de Wever <koraq@xs4all.nl> |
[NFC][libc++] Fixes some comments.
|
#
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 ...
|
#
cd0ad421 |
| 27-Jun-2023 |
varconst <varconsteq@gmail.com> |
[libc++][hardening][NFC] Introduce `_LIBCPP_ASSERT_UNCATEGORIZED`.
Replace most uses of `_LIBCPP_ASSERT` with `_LIBCPP_ASSERT_UNCATEGORIZED`.
This is done as a prerequisite to introducing hardened
[libc++][hardening][NFC] Introduce `_LIBCPP_ASSERT_UNCATEGORIZED`.
Replace most uses of `_LIBCPP_ASSERT` with `_LIBCPP_ASSERT_UNCATEGORIZED`.
This is done as a prerequisite to introducing hardened mode to libc++. The idea is to make enabling assertions an opt-in with (somewhat) fine-grained controls over which categories of assertions are enabled. The vast majority of assertions are currently uncategorized; the new macro will allow turning on `_LIBCPP_ASSERT` (the underlying mechanism for all kinds of assertions) without enabling all the uncategorized assertions (in the future; this patch preserves the current behavior).
Differential Revision: https://reviews.llvm.org/D153816
show more ...
|
#
03c7b93a |
| 20-Apr-2023 |
Mark de Wever <koraq@xs4all.nl> |
[libc++][format] Removes vector dependency.
During the review of D140653 it was suggested to use vector in __retarget_buffer instead of manually managing the memory. Due to the requirements of the S
[libc++][format] Removes vector dependency.
During the review of D140653 it was suggested to use vector in __retarget_buffer instead of manually managing the memory. Due to the requirements of the Standard it turns out format needs to include vector leading to a cycle. Therefore switching back to manual memory management.
This is a preparation to fix https://llvm.org/PR61314
Reviewed By: #libc, ldionne
Differential Revision: https://reviews.llvm.org/D148826
show more ...
|
Revision tags: llvmorg-16.0.2 |
|
#
d6cd4257 |
| 18-Apr-2023 |
Mark de Wever <koraq@xs4all.nl> |
[libc++] Adds missing includes.
This patch makes are code less dependant on transitive includes.
This was part of D145800. This patch will be abandoned, but these changes are still useful. I manual
[libc++] Adds missing includes.
This patch makes are code less dependant on transitive includes.
This was part of D145800. This patch will be abandoned, but these changes are still useful. I manually verified declarations of the new includes are used in these files.
Reviewed By: #libc, philnik
Differential Revision: https://reviews.llvm.org/D148645
show more ...
|
Revision tags: llvmorg-16.0.1, llvmorg-16.0.0, llvmorg-16.0.0-rc4 |
|
#
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
|
Revision tags: llvmorg-16.0.0-rc3 |
|
#
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
|
#
306b24c0 |
| 21-Feb-2023 |
Mark de Wever <koraq@xs4all.nl> |
[libc++][format] Removes transitive type_traits.
Reviewed By: #libc, philnik
Differential Revision: https://reviews.llvm.org/D144498
|
#
4f15267d |
| 13-Feb-2023 |
Nikolas Klauser <nikolasklauser@berlin.de> |
[libc++][NFC] Replace _LIBCPP_STD_VER > x with _LIBCPP_STD_VER >= x
This change is almost fully mechanical. The only interesting change is in `generate_feature_test_macro_components.py` to generate
[libc++][NFC] Replace _LIBCPP_STD_VER > x with _LIBCPP_STD_VER >= x
This change is almost fully mechanical. The only interesting change is in `generate_feature_test_macro_components.py` to generate `_LIBCPP_STD_VER >=` instead. To avoid churn in the git-blame this commit should be added to the `.git-blame-ignore-revs` once committed.
Reviewed By: ldionne, var-const, #libc
Spies: jloser, libcxx-commits, arichardson, arphaman, wenlei
Differential Revision: https://reviews.llvm.org/D143962
show more ...
|
Revision tags: 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, 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 |
|
#
22e8525d |
| 05-May-2022 |
Mark de Wever <koraq@xs4all.nl> |
[libc++][format] Implements range_formatter
Implements parts of - P2286R8 Formatting Ranges - P2585R0 Improving default container formatting
Depends on D140651
Reviewed By: ldionne, #libc
Differe
[libc++][format] Implements range_formatter
Implements parts of - P2286R8 Formatting Ranges - P2585R0 Improving default container formatting
Depends on D140651
Reviewed By: ldionne, #libc
Differential Revision: https://reviews.llvm.org/D140653
show more ...
|
#
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-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 |
|
#
91dd0723 |
| 23-Oct-2021 |
Mark de Wever <koraq@xs4all.nl> |
[libc++][format] Move iterators when needed.
LWG-3539 was already implemented but not marked as done. LWG-3567 is implemented in this commit.
Reviewed By: ldionne, #libc
Differential Revision: htt
[libc++][format] Move iterators when needed.
LWG-3539 was already implemented but not marked as done. LWG-3567 is implemented in this commit.
Reviewed By: ldionne, #libc
Differential Revision: https://reviews.llvm.org/D112368
show more ...
|
#
37c98da3 |
| 31-Aug-2022 |
Mark de Wever <koraq@xs4all.nl> |
[libc++][format] Fixes broken CI.
Some of the merged patches didn't have conflicts but were not compatible. This should fix it.
|
#
a595fcf9 |
| 04-Aug-2022 |
Mark de Wever <koraq@xs4all.nl> |
[NFC][libc++][format] Renames __char_type concept.
Move the concept to the concepts header and uses a name in the style of P2286.
Reviewed By: #libc, ldionne
Differential Revision: https://reviews
[NFC][libc++][format] Renames __char_type concept.
Move the concept to the concepts header and uses a name in the style of P2286.
Reviewed By: #libc, ldionne
Differential Revision: https://reviews.llvm.org/D131176
show more ...
|