ASSERT - Assert
Description
Assert/error checking module.
By default, library assert usage is not included to reduce footprint and processing overhead. Further, assert usage is decoupled from ISO C assert handling (NDEBUG usage) to allow using ISO C assert without including assert statements.
Below are available defines for controlling assert inclusion. The defines are typically for a project to be used by the preprocessor.
- If DEBUG_EFM is defined, the internal library assert handling will be used. This is implemented as a simple while(true) loop. DEBUG_EFM is not defined by default.
- If DEBUG_EFM_USER is defined, the user must provide custom implementation of the assertEFM() function.
- If both DEBUG_EFM and DEBUG_EFM_USER are undefined, all EFM_ASSERT() statements are not operational.
- Note
- The internal assert is documented because DEBUG_EFM is defined in the doxygen configuration.
Functions |
|
void | assertEFM (const char *file, int line) |
Macros |
|
#define | EFM_ASSERT (expr) ((expr) ? ((void)0) : assertEFM(__FILE__, __LINE__)) |
Default assertion is not operational.
|
|
Macro Definition Documentation
◆ EFM_ASSERT
#define EFM_ASSERT | ( |
expr
|
) | ((expr) ? ((void)0) : assertEFM(__FILE__, __LINE__)) |
Default assertion is not operational.