From 308b2317d4e9c21d3b203d104007fde127dcdbfa Mon Sep 17 00:00:00 2001 From: Rao Meng Date: Thu, 13 Feb 2025 14:03:41 +0800 Subject: [PATCH] upgrade fmtlib to 11.1.3 --- CMakeLists.txt | 2 ++ fmt | 2 +- fmtlog-inl.h | 6 +++--- fmtlog.h | 25 ++++++++++++------------- test/enc_dec_test.cc | 5 ++--- 5 files changed, 20 insertions(+), 20 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 38f3500..aa64a8a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -7,6 +7,8 @@ if(MSVC) else() add_compile_options(-Wall -O3 -std=c++17) #add_compile_options(-Wall -Ofast -std=c++2a -DNDEBUG -march=skylake -flto -fno-exceptions -fno-rtti -fno-unwind-tables -fno-asynchronous-unwind-tables -DFMTLOG_NO_CHECK_LEVEL=1) + #SET(CMAKE_AR "gcc-ar") + #SET(CMAKE_RANLIB "gcc-ranlib") link_libraries(pthread) endif() diff --git a/fmt b/fmt index e69e5f9..9cf9f38 160000 --- a/fmt +++ b/fmt @@ -1 +1 @@ -Subproject commit e69e5f977d458f2650bb346dadf2ad30c5320281 +Subproject commit 9cf9f38eded63e5e0fb95cd536ba51be601d7fa2 diff --git a/fmtlog-inl.h b/fmtlog-inl.h index f02cab6..6fa9317 100644 --- a/fmtlog-inl.h +++ b/fmtlog-inl.h @@ -303,13 +303,13 @@ class fmtlogDetailT template inline void setArg(const T& arg) { - args[reorderIdx[I]] = fmt::detail::make_arg(arg); + args[reorderIdx[I]] = arg; } template inline void setArgVal(const T& arg) { fmt::detail::value& value_ = *(fmt::detail::value*)&args[reorderIdx[I]]; - value_ = fmt::detail::arg_mapper().map(arg); + value_ = arg; } void flushLogFile() { @@ -547,7 +547,7 @@ void fmtlogT<_>::setLogFile(const char* filename, bool truncate) { FILE* newFp = fopen(filename, truncate ? "w" : "a"); if (!newFp) { std::string err = fmt::format("Unable to open file: {}: {}", filename, strerror(errno)); - fmt::detail::throw_format_error(err.c_str()); + fmt::report_error(err.c_str()); } setbuf(newFp, nullptr); d.fpos = ftell(newFp); diff --git a/fmtlog.h b/fmtlog.h index d0a34ac..f6a0070 100644 --- a/fmtlog.h +++ b/fmtlog.h @@ -406,20 +406,19 @@ class fmtlogT { using type = Arg; }; #if FMT_USE_NONTYPE_TEMPLATE_ARGS - template Str> - struct unNamedType> + template Str> + struct unNamedType> { using type = Arg; }; #endif template static inline constexpr bool isCstring() { - return fmt::detail::mapped_type_constant::value == - fmt::detail::type::cstring_type; + return fmt::detail::mapped_type_constant::value == fmt::detail::type::cstring_type; } template static inline constexpr bool isString() { - return fmt::detail::mapped_type_constant::value == fmt::detail::type::string_type; + return fmt::detail::mapped_type_constant::value == fmt::detail::type::string_type; } template @@ -529,10 +528,10 @@ class fmtlogT fmt::string_view v(in, size); if constexpr (ValueOnly) { fmt::detail::value& value_ = *(fmt::detail::value*)(args + Idx); - value_ = fmt::detail::arg_mapper().map(v); + value_ = v; } else { - args[Idx] = fmt::detail::make_arg(v); + args[Idx] = v; } return decodeArgs(in + size + 1, args, destruct_args); @@ -541,18 +540,18 @@ class fmtlogT if constexpr (ValueOnly) { fmt::detail::value& value_ = *(fmt::detail::value*)(args + Idx); if constexpr (UnrefPtr::value) { - value_ = fmt::detail::arg_mapper().map(**(ArgType*)in); + value_ = **(ArgType*)in; } else { - value_ = fmt::detail::arg_mapper().map(*(ArgType*)in); + value_ = *(ArgType*)in; } } else { if constexpr (UnrefPtr::value) { - args[Idx] = fmt::detail::make_arg(**(ArgType*)in); + args[Idx] = **(ArgType*)in; } else { - args[Idx] = fmt::detail::make_arg(*(ArgType*)in); + args[Idx] = *(ArgType*)in; } } @@ -636,7 +635,7 @@ class fmtlogT out += copy_size; begin = p; c = *p++; - if (!c) fmt::detail::throw_format_error("invalid format string"); + if (!c) fmt::report_error("invalid format string"); if (fmt::detail::is_name_start(c)) { while ((fmt::detail::is_name_start(c = *p) || ('0' <= c && c <= '9'))) { ++p; @@ -649,7 +648,7 @@ class fmtlogT break; } } - if (id < 0) fmt::detail::throw_format_error("invalid format string"); + if (id < 0) fmt::report_error("invalid format string"); if constexpr (Reorder) { reorderIdx[id] = arg_idx++; } diff --git a/test/enc_dec_test.cc b/test/enc_dec_test.cc index cfa46f3..9d4c22c 100644 --- a/test/enc_dec_test.cc +++ b/test/enc_dec_test.cc @@ -42,15 +42,14 @@ template<> struct fmt::formatter : formatter { // parse is inherited from formatter. - template - auto format(const MovableType& val, FormatContext& ctx) { + // template + auto format(const MovableType& val, format_context& ctx) const { return formatter::format(val.val[0].v, ctx); } }; template void test(const S& format, Args&&... args) { - fmt::detail::check_format_string(format); auto sv = fmt::string_view(format); size_t formatted_size = fmt::formatted_size(fmt::runtime(sv), std::forward(args)...); string ans = fmt::format(fmt::runtime(sv), std::forward(args)...);