From b236f8c086b38a3e43bd57ed3364ab691d47c73f Mon Sep 17 00:00:00 2001 From: Heinrich Schuchardt Date: Sat, 27 Jul 2019 20:21:06 +0200 Subject: [PATCH] log: document the assign() macro Provide a concise description of the assert() macro. Point out that the tested expression is always executed, irrespective of the value of _DEBUG. Signed-off-by: Heinrich Schuchardt --- include/log.h | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/include/log.h b/include/log.h index 7566ba7f2d..6d15e955d7 100644 --- a/include/log.h +++ b/include/log.h @@ -183,6 +183,18 @@ int _log(enum log_category_t cat, enum log_level_t level, const char *file, */ void __assert_fail(const char *assertion, const char *file, unsigned int line, const char *function); + +/** + * assert() - assert expression is true + * + * If the expression x evaluates to false and _DEBUG evaluates to true, a panic + * message is written and the system stalls. The value of _DEBUG is set to true + * if DEBUG is defined before including common.h. + * + * The expression x is always executed irrespective of the value of _DEBUG. + * + * @x: expression to test + */ #define assert(x) \ ({ if (!(x) && _DEBUG) \ __assert_fail(#x, __FILE__, __LINE__, __func__); }) -- 2.39.5