mcu_hi3321_watch/open_source/musl/include/assert.h
2025-05-26 20:15:20 +08:00

51 lines
1.1 KiB
C

#include <features.h>
#undef assert
#ifdef __XLT_OS__
#define DEBUGASSERT(f)
#ifndef CONFIG_LIBC_DEBUG_VERSION
#define NDEBUG
#endif
#endif
/**
* @ingroup assert
* @par Description:
* This API is used to insert diagnostics into programs, if expression is false, it will output the text of the argument,
* the name of the source file, the source file line number, and the name of the enclosing function
*
* @attention
* <ul>
* <li>The assert() macro only prints an error message, it would not call abort,instead by locking the interrupt and entering dead cycle by doing while (1).</li>
* </ul>
*
* @retval None.
*
* @par Dependency:
* <ul><li>assert.h</li></ul>
*
* @see None
*
* @since Huawei LiteOS V100R001C00
*/
#ifdef NDEBUG
#define assert(x) (void)0
#else
#define assert(x) ((void)((x) || (__assert_fail(#x, __FILE__, __LINE__, __func__),0)))
#endif
#if __STDC_VERSION__ >= 201112L && !defined(__cplusplus)
#define static_assert _Static_assert
#endif
#ifdef __cplusplus
extern "C" {
#endif
_Noreturn void __assert_fail (const char *, const char *, int, const char *);
#ifdef __cplusplus
}
#endif