log: Add log_nop() to avoid unused-variable warnings
If a log statement includes a variable and logging is disabled, this can generate warnings about unused variables. Add a bit more complexity to the macros to avoid this for the common case. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
This commit is contained in:
parent
0b7ebee38e
commit
fd42948fc9
@ -76,6 +76,18 @@ int _log(enum log_category_t cat, enum log_level_t level, const char *file,
|
||||
int line, const char *func, const char *fmt, ...)
|
||||
__attribute__ ((format (__printf__, 6, 7)));
|
||||
|
||||
static inline int _log_nop(enum log_category_t cat, enum log_level_t level,
|
||||
const char *file, int line, const char *func,
|
||||
const char *fmt, ...)
|
||||
__attribute__ ((format (__printf__, 6, 7)));
|
||||
|
||||
static inline int _log_nop(enum log_category_t cat, enum log_level_t level,
|
||||
const char *file, int line, const char *func,
|
||||
const char *fmt, ...)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* Define this at the top of a file to add a prefix to debug messages */
|
||||
#ifndef pr_fmt
|
||||
#define pr_fmt(fmt) fmt
|
||||
@ -101,13 +113,14 @@ int _log(enum log_category_t cat, enum log_level_t level, const char *file,
|
||||
#define log_io(_fmt...) log(LOG_CATEGORY, LOGL_DEBUG_IO, ##_fmt)
|
||||
#else
|
||||
#define _LOG_MAX_LEVEL LOGL_INFO
|
||||
#define log_err(_fmt...)
|
||||
#define log_warning(_fmt...)
|
||||
#define log_notice(_fmt...)
|
||||
#define log_info(_fmt...)
|
||||
#define log_debug(_fmt...)
|
||||
#define log_content(_fmt...)
|
||||
#define log_io(_fmt...)
|
||||
#define log_err(_fmt...) log_nop(LOG_CATEGORY, LOGL_ERR, ##_fmt)
|
||||
#define log_warning(_fmt...) log_nop(LOG_CATEGORY, LOGL_WARNING, ##_fmt)
|
||||
#define log_notice(_fmt...) log_nop(LOG_CATEGORY, LOGL_NOTICE, ##_fmt)
|
||||
#define log_info(_fmt...) log_nop(LOG_CATEGORY, LOGL_INFO, ##_fmt)
|
||||
#define log_debug(_fmt...) log_nop(LOG_CATEGORY, LOGL_DEBUG, ##_fmt)
|
||||
#define log_content(_fmt...) log_nop(LOG_CATEGORY, \
|
||||
LOGL_DEBUG_CONTENT, ##_fmt)
|
||||
#define log_io(_fmt...) log_nop(LOG_CATEGORY, LOGL_DEBUG_IO, ##_fmt)
|
||||
#endif
|
||||
|
||||
#if CONFIG_IS_ENABLED(LOG)
|
||||
@ -129,6 +142,12 @@ int _log(enum log_category_t cat, enum log_level_t level, const char *file,
|
||||
#define log(_cat, _level, _fmt, _args...)
|
||||
#endif
|
||||
|
||||
#define log_nop(_cat, _level, _fmt, _args...) ({ \
|
||||
int _l = _level; \
|
||||
_log_nop((enum log_category_t)(_cat), _l, __FILE__, __LINE__, \
|
||||
__func__, pr_fmt(_fmt), ##_args); \
|
||||
})
|
||||
|
||||
#ifdef DEBUG
|
||||
#define _DEBUG 1
|
||||
#else
|
||||
|
Loading…
Reference in New Issue
Block a user