mirror of
https://github.com/YosysHQ/yosys
synced 2025-08-04 02:10:24 +00:00
Make log_cmd_error() use variadic templates.
This commit is contained in:
parent
5951d9d303
commit
7f45715fec
2 changed files with 11 additions and 9 deletions
|
@ -386,13 +386,10 @@ void log_formatted_error(std::string str)
|
||||||
log_error_with_prefix("ERROR: ", std::move(str));
|
log_error_with_prefix("ERROR: ", std::move(str));
|
||||||
}
|
}
|
||||||
|
|
||||||
void log_cmd_error(const char *format, ...)
|
void log_formatted_cmd_error(std::string str)
|
||||||
{
|
{
|
||||||
va_list ap;
|
|
||||||
va_start(ap, format);
|
|
||||||
|
|
||||||
if (log_cmd_error_throw) {
|
if (log_cmd_error_throw) {
|
||||||
log_last_error = vstringf(format, ap);
|
log_last_error = str;
|
||||||
|
|
||||||
// Make sure the error message gets through any selective silencing
|
// Make sure the error message gets through any selective silencing
|
||||||
// of log output
|
// of log output
|
||||||
|
@ -402,7 +399,7 @@ void log_cmd_error(const char *format, ...)
|
||||||
pop_errfile = true;
|
pop_errfile = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
log("ERROR: %s", log_last_error.c_str());
|
log("ERROR: %s", log_last_error);
|
||||||
log_flush();
|
log_flush();
|
||||||
|
|
||||||
if (pop_errfile)
|
if (pop_errfile)
|
||||||
|
@ -411,7 +408,7 @@ void log_cmd_error(const char *format, ...)
|
||||||
throw log_cmd_error_exception();
|
throw log_cmd_error_exception();
|
||||||
}
|
}
|
||||||
|
|
||||||
log_formatted_error(vstringf(format, ap));
|
log_formatted_error(str);
|
||||||
}
|
}
|
||||||
|
|
||||||
void log_spacer()
|
void log_spacer()
|
||||||
|
|
|
@ -124,8 +124,6 @@ extern int log_debug_suppressed;
|
||||||
void set_verific_logging(void (*cb)(int msg_type, const char *message_id, const char* file_path, unsigned int left_line, unsigned int left_col, unsigned int right_line, unsigned int right_col, const char *msg));
|
void set_verific_logging(void (*cb)(int msg_type, const char *message_id, const char* file_path, unsigned int left_line, unsigned int left_col, unsigned int right_line, unsigned int right_col, const char *msg));
|
||||||
extern void (*log_verific_callback)(int msg_type, const char *message_id, const char* file_path, unsigned int left_line, unsigned int left_col, unsigned int right_line, unsigned int right_col, const char *msg);
|
extern void (*log_verific_callback)(int msg_type, const char *message_id, const char* file_path, unsigned int left_line, unsigned int left_col, unsigned int right_line, unsigned int right_col, const char *msg);
|
||||||
|
|
||||||
[[noreturn]] void log_cmd_error(const char *format, ...) YS_ATTRIBUTE(format(printf, 1, 2));
|
|
||||||
|
|
||||||
#ifndef NDEBUG
|
#ifndef NDEBUG
|
||||||
static inline bool ys_debug(int n = 0) { if (log_force_debug) return true; log_debug_suppressed += n; return false; }
|
static inline bool ys_debug(int n = 0) { if (log_force_debug) return true; log_debug_suppressed += n; return false; }
|
||||||
#else
|
#else
|
||||||
|
@ -194,6 +192,13 @@ template <typename... Args>
|
||||||
log_formatted_file_error(filename, lineno, fmt.format(args...));
|
log_formatted_file_error(filename, lineno, fmt.format(args...));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[[noreturn]] void log_formatted_cmd_error(std::string str);
|
||||||
|
template <typename... Args>
|
||||||
|
[[noreturn]] void log_cmd_error(FmtString<TypeIdentity<Args>...> fmt, Args... args)
|
||||||
|
{
|
||||||
|
log_formatted_cmd_error(fmt.format(args...));
|
||||||
|
}
|
||||||
|
|
||||||
static inline void log_suppressed() {
|
static inline void log_suppressed() {
|
||||||
if (log_debug_suppressed && !log_make_debug) {
|
if (log_debug_suppressed && !log_make_debug) {
|
||||||
log("<suppressed ~%d debug messages>\n", log_debug_suppressed);
|
log("<suppressed ~%d debug messages>\n", log_debug_suppressed);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue