summaryrefslogtreecommitdiff
path: root/dev-libs/libfmt/files
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2021-06-24 14:47:38 +0100
committerV3n3RiX <venerix@redcorelinux.org>2021-06-24 14:47:38 +0100
commitb4d43e8c611df4a8061b6f88d9e9f6b1e3c83903 (patch)
tree911928b566777494d08ebe2c16cb64f15af71901 /dev-libs/libfmt/files
parent61f10f985e19dfe20a4d9552902625edd5b6eabb (diff)
gentoo resync : 24.06.2021
Diffstat (limited to 'dev-libs/libfmt/files')
-rw-r--r--dev-libs/libfmt/files/libfmt-8.0.0-no-udl-define.patch56
1 files changed, 56 insertions, 0 deletions
diff --git a/dev-libs/libfmt/files/libfmt-8.0.0-no-udl-define.patch b/dev-libs/libfmt/files/libfmt-8.0.0-no-udl-define.patch
new file mode 100644
index 000000000000..83078fa7285c
--- /dev/null
+++ b/dev-libs/libfmt/files/libfmt-8.0.0-no-udl-define.patch
@@ -0,0 +1,56 @@
+From ab89d342b5454528bd2b46e7f22c0311906f8ca2 Mon Sep 17 00:00:00 2001
+From: "Jason A. Donenfeld" <Jason@zx2c4.com>
+Date: Tue, 22 Jun 2021 14:34:33 +0200
+Subject: [PATCH] format: do not use udl_{arg,formatter} return types when UDL
+ is not in use
+
+The udl_{arg,formatter} structs are only defined when
+FMT_USE_USER_DEFINED_LITERALS is set, so don't try to define things that
+return that struct when it's not defined.
+---
+ include/fmt/format.h | 9 ++++++---
+ 1 file changed, 6 insertions(+), 3 deletions(-)
+
+diff --git a/include/fmt/format.h b/include/fmt/format.h
+index 03ae1c961..92b0f0fc5 100644
+--- a/include/fmt/format.h
++++ b/include/fmt/format.h
+@@ -2730,6 +2730,8 @@ extern template auto snprintf_float<long double>(long double value,
+ #endif // FMT_HEADER_ONLY
+
+ FMT_END_DETAIL_NAMESPACE
++
++#if FMT_USE_USER_DEFINED_LITERALS
+ inline namespace literals {
+ /**
+ \rst
+@@ -2741,18 +2743,18 @@ inline namespace literals {
+ fmt::print("Elapsed time: {s:.2f} seconds", "s"_a=1.23);
+ \endrst
+ */
+-#if FMT_USE_NONTYPE_TEMPLATE_PARAMETERS
++# if FMT_USE_NONTYPE_TEMPLATE_PARAMETERS
+ template <detail_exported::fixed_string Str>
+ constexpr auto operator""_a()
+ -> detail::udl_arg<remove_cvref_t<decltype(Str.data[0])>,
+ sizeof(Str.data) / sizeof(decltype(Str.data[0])), Str> {
+ return {};
+ }
+-#else
++# else
+ constexpr auto operator"" _a(const char* s, size_t) -> detail::udl_arg<char> {
+ return {s};
+ }
+-#endif
++# endif
+
+ /**
+ \rst
+@@ -2769,6 +2771,7 @@ constexpr auto operator"" _format(const char* s, size_t n)
+ return {{s, n}};
+ }
+ } // namespace literals
++#endif // FMT_USE_USER_DEFINED_LITERALS
+
+ template <typename Locale, FMT_ENABLE_IF(detail::is_locale<Locale>::value)>
+ inline auto vformat(const Locale& loc, string_view fmt, format_args args)