Fix ABI compatiblity issue

This commit is contained in:
Victor Zverovich 2022-01-05 08:08:38 -08:00
parent 214cf13f17
commit 98cbb6a43c
2 changed files with 7 additions and 2 deletions

View File

@ -615,8 +615,7 @@ struct error_handler {
constexpr error_handler(const error_handler&) = default;
// This function is intentionally not constexpr to give a compile-time error.
// This function is marked as FMT_API for backwards compatibility, see #2695.
FMT_NORETURN FMT_API void on_error(const char* message) { throw_format_error(message); }
FMT_NORETURN FMT_API void on_error(const char* message);
};
FMT_END_DETAIL_NAMESPACE

View File

@ -2575,6 +2575,12 @@ FMT_FUNC void report_system_error(int error_code,
report_error(format_system_error, error_code, message);
}
// DEPRECATED!
// This function is defined here and not inline for ABI compatiblity.
FMT_FUNC void detail::error_handler::on_error(const char* message) {
throw_format_error(message);
}
FMT_FUNC std::string vformat(string_view fmt, format_args args) {
// Don't optimize the "{}" case to keep the binary size small and because it
// can be better optimized in fmt::format anyway.