[NFC][libc++][format] Enable unit tests.The GCC failures were partly fixed in D124103.The format functions tests are fixed on GCC but they require a hugeamount of RAM (>10 GB). This fails with p
[NFC][libc++][format] Enable unit tests.The GCC failures were partly fixed in D124103.The format functions tests are fixed on GCC but they require a hugeamount of RAM (>10 GB). This fails with parallel testing in the CI. Itcan be solved by splitting the test, but GCC-12 will be released shortlyand might fix the memory usage in these tests. Therefore these testsremain disabled.Reviewed By: #libc, ldionneDifferential Revision: https://reviews.llvm.org/D124335
show more ...
[libc++] Replace _LIBCPP_HAS_NO_CONCEPTS with _LIBCPP_STD_VER > 17. NFCI.All supported compilers that support C++20 now support concepts. So, remove`_LIB_LIBCPP_HAS_NO_CONCEPTS` in favor of `_LIBC
[libc++] Replace _LIBCPP_HAS_NO_CONCEPTS with _LIBCPP_STD_VER > 17. NFCI.All supported compilers that support C++20 now support concepts. So, remove`_LIB_LIBCPP_HAS_NO_CONCEPTS` in favor of `_LIBCPP_STD_VER > 17`. Similarly inthe tests, remove `// UNSUPPORTED: libcpp-no-concepts`.Differential Revision: https://reviews.llvm.org/D121528
[libc++][nfc] Add TEST_HAS_NO_INT128.Avoid using the libc++ internal `_LIBCPP_HAS_NO_INT128` in our tests.Reviewed By: #libc, ldionneDifferential Revision: https://reviews.llvm.org/D117992
[libc++][format] Adds formatter handle.This implements the handler according to P0645. P2418 changes the wordingin the Standard. That isn't implemented and requires changes in moreplaces. LWG3631
[libc++][format] Adds formatter handle.This implements the handler according to P0645. P2418 changes the wordingin the Standard. That isn't implemented and requires changes in moreplaces. LWG3631 applies modifications to P2418, but is currentlyunresolved.Implements parts of:* P0645 Text FormattingDepends on D115989Reviewed By: ldionne, #libcDifferential Revision: https://reviews.llvm.org/D115991
[libc++] Add an option to disable wide character support in libc++Some embedded platforms do not wish to support the C library functionalityfor handling wchar_t because they have no use for it. It
[libc++] Add an option to disable wide character support in libc++Some embedded platforms do not wish to support the C library functionalityfor handling wchar_t because they have no use for it. It makes sense forlibc++ to work properly on those platforms, so this commit adds a carve-outof functionality for wchar_t.Unfortunately, unlike some other carve-outs (e.g. random device), thispatch touches several parts of the library. However, despite the wideimpact of this patch, I still think it is important to support thisconfiguration since it makes it much simpler to port libc++ to someembedded platforms.Differential Revision: https://reviews.llvm.org/D111265
[libc++][format] Implement formatters.This implements the initial version of the `std::formatter` class and its specializations. It also implements the following formatting functions:- `format`-
[libc++][format] Implement formatters.This implements the initial version of the `std::formatter` class and its specializations. It also implements the following formatting functions:- `format`- `vformat`- `format_to`- `vformat_to`- `format_to_n`- `formatted_size`All functions have a `char` and `wchar_t` version. Parsing the format-spec andusing the parsed format-spec hasn't been implemented. The code isn't optimized,neither for speed, nor for size.The goal is to have the rudimentary basics working, which can be used as abasis to improve upon. The formatters used in this commit are simple stubs thatwill be replaced by real formatters in later commits.The formatters that are slated to be replaced in this patch series don't havean availability macro to avoid merge conflicts.Note the formatter for `bool` uses `0` and `1` instead of "false" and"true". This will be fixed when the stub is replaced with a realformatter.Implements parts of:- P0645 Text FormattingCompletes:- LWG3539 format_to must not copy models of output_iterator<const charT&>Reviewed By: ldionne, #libc, vitautDifferential Revision: https://reviews.llvm.org/D96664