mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-12-01 08:59:33 +00:00
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 <xypron.glpk@gmx.de>
This commit is contained in:
parent
102b0b1119
commit
b236f8c086
1 changed files with 12 additions and 0 deletions
|
@ -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__); })
|
||||
|
|
Loading…
Reference in a new issue