summaryrefslogtreecommitdiff
path: root/libcxx/include/__format/formatter_bool.h
diff options
context:
space:
mode:
authorLouis Dionne <ldionne.2@gmail.com>2023-03-16 13:09:44 -0400
committerLouis Dionne <ldionne.2@gmail.com>2023-03-22 16:32:26 -0400
commit3d334df58742ff53fb00aa3caeb7eb5da3436348 (patch)
tree55ba8644be87fa829ffc44c9d31612fa02d5edde /libcxx/include/__format/formatter_bool.h
parent77ed8311a625f449e7ee8bebda3b2940be6dc211 (diff)
downloadllvm-3d334df58742ff53fb00aa3caeb7eb5da3436348.tar.gz
[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
Diffstat (limited to 'libcxx/include/__format/formatter_bool.h')
-rw-r--r--libcxx/include/__format/formatter_bool.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/libcxx/include/__format/formatter_bool.h b/libcxx/include/__format/formatter_bool.h
index 84f8bcfa629b..1fb75755fc57 100644
--- a/libcxx/include/__format/formatter_bool.h
+++ b/libcxx/include/__format/formatter_bool.h
@@ -36,7 +36,7 @@ _LIBCPP_BEGIN_NAMESPACE_STD
#if _LIBCPP_STD_VER >= 20
template <__fmt_char_type _CharT>
-struct _LIBCPP_TEMPLATE_VIS _LIBCPP_AVAILABILITY_FORMAT formatter<bool, _CharT> {
+struct _LIBCPP_TEMPLATE_VIS formatter<bool, _CharT> {
public:
_LIBCPP_HIDE_FROM_ABI constexpr auto
parse(basic_format_parse_context<_CharT>& __parse_ctx) -> decltype(__parse_ctx.begin()) {