From b27a6151bfa10389e730dd41c585289464cec16d Mon Sep 17 00:00:00 2001 From: friedkeenan Date: Fri, 21 Nov 2025 09:12:33 -0600 Subject: [PATCH] Move FMT_USE_CONSTEVAL check to FMT_STRING directly --- include/fmt/format.h | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/include/fmt/format.h b/include/fmt/format.h index c474173e..ec04cc36 100644 --- a/include/fmt/format.h +++ b/include/fmt/format.h @@ -4231,7 +4231,7 @@ class format_int { inline auto str() const -> std::string { return {str_, size()}; } }; -#if FMT_USE_CONSTEVAL || FMT_CLANG_ANALYZER +#if FMT_CLANG_ANALYZER # define FMT_STRING_IMPL(s, base) s #else # define FMT_STRING_IMPL(s, base) \ @@ -4260,7 +4260,11 @@ class format_int { * // A compile-time error because 'd' is an invalid specifier for strings. * std::string s = fmt::format(FMT_STRING("{:d}"), "foo"); */ -#define FMT_STRING(s) FMT_STRING_IMPL(s, fmt::detail::compile_string) +#if FMT_USE_CONSTEVAL +# define FMT_STRING(s) s +#else +# define FMT_STRING(s) FMT_STRING_IMPL(s, fmt::detail::compile_string) +#endif // FMT_USE_CONSTEVAL FMT_API auto vsystem_error(int error_code, string_view fmt, format_args args) -> std::system_error;