Skip to content

Commit

Permalink
Add FMT_STRING to allow compilation with FMT_ENFORCE_COMPILE_STRING
Browse files Browse the repository at this point in the history
  • Loading branch information
john4744 committed May 19, 2022
1 parent 0d8197c commit 799802f
Show file tree
Hide file tree
Showing 5 changed files with 9 additions and 7 deletions.
4 changes: 3 additions & 1 deletion include/spdlog/common.h
Original file line number Diff line number Diff line change
Expand Up @@ -46,11 +46,13 @@

#if !defined(SPDLOG_USE_STD_FORMAT) && FMT_VERSION >= 80000 // backward compatibility with fmt versions older than 8
# define SPDLOG_FMT_RUNTIME(format_string) fmt::runtime(format_string)
# define SPDLOG_FMT_STRING(format_string) FMT_STRING(format_string)
# if defined(SPDLOG_WCHAR_FILENAMES) || defined(SPDLOG_WCHAR_TO_UTF8_SUPPORT)
# include <spdlog/fmt/xchar.h>
# endif
#else
# define SPDLOG_FMT_RUNTIME(format_string) format_string
# define SPDLOG_FMT_STRING(format_string) format_string
#endif

// visual studio up to 2013 does not support noexcept nor constexpr
Expand Down Expand Up @@ -308,7 +310,7 @@ struct file_event_handlers
{
file_event_handlers()
: before_open(nullptr)
, after_open (nullptr)
, after_open(nullptr)
, before_close(nullptr)
, after_close(nullptr)
{}
Expand Down
2 changes: 1 addition & 1 deletion include/spdlog/details/fmt_helper.h
Original file line number Diff line number Diff line change
Expand Up @@ -107,7 +107,7 @@ inline void pad2(int n, memory_buf_t &dest)
}
else // unlikely, but just in case, let fmt deal with it
{
fmt_lib::format_to(std::back_inserter(dest), "{:02}", n);
fmt_lib::format_to(std::back_inserter(dest), SPDLOG_FMT_STRING("{:02}"), n);
}
}

Expand Down
2 changes: 1 addition & 1 deletion include/spdlog/fmt/bin_to_hex.h
Original file line number Diff line number Diff line change
Expand Up @@ -241,7 +241,7 @@ struct formatter<spdlog::details::dump_info<T>, char>

if (put_positions)
{
spdlog::fmt_lib::format_to(inserter, "{:04X}: ", pos);
spdlog::fmt_lib::format_to(inserter, SPDLOG_FMT_STRING("{:04X}: "), pos);
}
}
};
Expand Down
2 changes: 1 addition & 1 deletion include/spdlog/logger.h
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@
{ \
if (location.filename) \
{ \
err_handler_(fmt_lib::format("{} [{}({})]", ex.what(), location.filename, location.line)); \
err_handler_(fmt_lib::format(SPDLOG_FMT_STRING("{} [{}({})]"), ex.what(), location.filename, location.line)); \
} \
else \
{ \
Expand Down
6 changes: 3 additions & 3 deletions include/spdlog/sinks/daily_file_sink.h
Original file line number Diff line number Diff line change
Expand Up @@ -32,8 +32,8 @@ struct daily_filename_calculator
{
filename_t basename, ext;
std::tie(basename, ext) = details::file_helper::split_by_extension(filename);
return fmt_lib::format(
SPDLOG_FILENAME_T("{}_{:04d}-{:02d}-{:02d}{}"), basename, now_tm.tm_year + 1900, now_tm.tm_mon + 1, now_tm.tm_mday, ext);
return fmt_lib::format(SPDLOG_FMT_STRING(SPDLOG_FILENAME_T("{}_{:04d}-{:02d}-{:02d}{}")), basename, now_tm.tm_year + 1900,
now_tm.tm_mon + 1, now_tm.tm_mday, ext);
}
};

Expand Down Expand Up @@ -76,7 +76,7 @@ struct daily_filename_format_calculator
return buf;
#else
// generate fmt datetime format string, e.g. {:%Y-%m-%d}.
filename_t fmt_filename = fmt::format(SPDLOG_FILENAME_T("{{:{}}}"), filename);
filename_t fmt_filename = fmt::format(SPDLOG_FMT_STRING(SPDLOG_FILENAME_T("{{:{}}}")), filename);
# if defined(_MSC_VER) && defined(SPDLOG_WCHAR_FILENAMES) // for some reason msvc doesn't allow fmt::runtime(..) with wchar here
return fmt::format(fmt_filename, now_tm);
# else
Expand Down

0 comments on commit 799802f

Please sign in to comment.