summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKlaus Aehlig <klaus.aehlig@huawei.com>2023-01-31 09:00:00 +0100
committerKlaus T. Aehlig <aehlig@linta.de>2023-02-01 12:26:08 +0100
commit4d5724b6d71f5251f8945056f278b3142f66f1b2 (patch)
treec2a4f6e301b21fbbd7a3c1d8227306d8d88771d1
parent63474489c46af081db134f8778eea03c3705cda3 (diff)
downloadjustbuild-4d5724b6d71f5251f8945056f278b3142f66f1b2.tar.gz
Update fmtlib to version 9.1.0
Co-authored-by: Michael Thies <mail@mhthies.de>
-rw-r--r--etc/repos.json12
-rw-r--r--src/buildtool/common/cli.hpp6
-rw-r--r--src/buildtool/execution_api/remote/bazel/bazel_client_common.hpp14
-rw-r--r--src/buildtool/logging/log_sink_cmdline.hpp6
-rw-r--r--src/buildtool/logging/logger.hpp2
5 files changed, 25 insertions, 15 deletions
diff --git a/etc/repos.json b/etc/repos.json
index f0d5cd61..04b59b3c 100644
--- a/etc/repos.json
+++ b/etc/repos.json
@@ -188,18 +188,18 @@
, "fmt":
{ "repository":
{ "type": "zip"
- , "content": "939f915e9957eda2194ecf8874149e903c99d071"
- , "fetch": "https://github.com/fmtlib/fmt/releases/download/7.0.3/fmt-7.0.3.zip"
- , "sha256": "decfdf9ad274070fa85f26407b816f5a4d82205ae86bac1990be658d0795ea4d"
- , "sha512": "377efc454d902d925c2f889107ceb2dc7ed1c813f0035f91448f388558a732fd3df101161c679c23a950d3687cc5bf69eedee2bd90f41edd0b220e466759d62b"
- , "subdir": "fmt-7.0.3"
+ , "content": "558d83d0fedb1f1ee3c3c4f1576d549cae7614ed"
+ , "fetch": "https://github.com/fmtlib/fmt/releases/download/9.1.0/fmt-9.1.0.zip"
+ , "sha256": "cceb4cb9366e18a5742128cb3524ce5f50e88b476f1e54737a47ffdf4df4c996"
+ , "sha512": "482d1ceaf042e97c66ff570babe9bd6f9cab7e4eec3dc56eb7d5e075b6b9b16f8eb333e96de9627fa33324d32b88d2aacebd0c34c3c706650eaa1729b0dd7fd6"
+ , "subdir": "fmt-9.1.0"
}
, "target_root": "import targets"
, "target_file_name": "TARGETS.fmt"
, "bindings": {"rules": "rules"}
, "bootstrap":
{ "include_dir": "include/fmt"
- , "build": "cd src && {cxx} {cxxflags} -I ../include -c *.cc && {ar} cqs ../libfmt.a *.o"
+ , "build": "cd src && {cxx} {cxxflags} -I ../include -c os.cc format.cc && {ar} cqs ../libfmt.a *.o"
, "link": ["-lfmt"]
}
, "local_bootstrap":
diff --git a/src/buildtool/common/cli.hpp b/src/buildtool/common/cli.hpp
index 7c2cd65c..feb58a6d 100644
--- a/src/buildtool/common/cli.hpp
+++ b/src/buildtool/common/cli.hpp
@@ -176,9 +176,9 @@ static inline auto SetupLogArguments(
},
fmt::format("Log limit (higher is more verbose) in interval [{},{}] "
"(Default: {}).",
- kFirstLogLevel,
- kLastLogLevel,
- kDefaultLogLevel))
+ static_cast<int>(kFirstLogLevel),
+ static_cast<int>(kLastLogLevel),
+ static_cast<int>(kDefaultLogLevel)))
->type_name("NUM");
app->add_flag("--plain-log",
clargs->plain_log,
diff --git a/src/buildtool/execution_api/remote/bazel/bazel_client_common.hpp b/src/buildtool/execution_api/remote/bazel/bazel_client_common.hpp
index 60fb7860..188e0f43 100644
--- a/src/buildtool/execution_api/remote/bazel/bazel_client_common.hpp
+++ b/src/buildtool/execution_api/remote/bazel/bazel_client_common.hpp
@@ -50,10 +50,16 @@
LogLevel level,
grpc::Status const& s) noexcept {
if (logger == nullptr) {
- Logger::Log(level, "{}: {}", s.error_code(), s.error_message());
+ Logger::Log(level,
+ "{}: {}",
+ static_cast<int>(s.error_code()),
+ s.error_message());
}
else {
- logger->Emit(level, "{}: {}", s.error_code(), s.error_message());
+ logger->Emit(level,
+ "{}: {}",
+ static_cast<int>(s.error_code()),
+ s.error_message());
}
}
@@ -62,10 +68,10 @@
LogLevel level,
google::rpc::Status const& s) noexcept {
if (logger == nullptr) {
- Logger::Log(level, "{}: {}", s.code(), s.message());
+ Logger::Log(level, "{}: {}", static_cast<int>(s.code()), s.message());
}
else {
- logger->Emit(level, "{}: {}", s.code(), s.message());
+ logger->Emit(level, "{}: {}", static_cast<int>(s.code()), s.message());
}
}
diff --git a/src/buildtool/logging/log_sink_cmdline.hpp b/src/buildtool/logging/log_sink_cmdline.hpp
index 0488c240..7a565212 100644
--- a/src/buildtool/logging/log_sink_cmdline.hpp
+++ b/src/buildtool/logging/log_sink_cmdline.hpp
@@ -107,7 +107,11 @@ class LogSinkCmdLine final : public ILogSink {
break;
}
}
- return fmt::format(style, "{}", prefix);
+ try {
+ return fmt::format(style, "{}", prefix);
+ } catch (...) {
+ return prefix;
+ }
}
};
diff --git a/src/buildtool/logging/logger.hpp b/src/buildtool/logging/logger.hpp
index 74520639..6d7fd66d 100644
--- a/src/buildtool/logging/logger.hpp
+++ b/src/buildtool/logging/logger.hpp
@@ -127,7 +127,7 @@ class Logger {
}
else {
// format the message
- auto fmsg = fmt::format(msg, std::forward<T_Args>(args)...);
+ auto fmsg = fmt::vformat(msg, fmt::make_format_args(args...));
// recursive call without format arguments
FormatAndForward(logger, sinks, level, fmsg);
}