65816-llvm-mos/runtime/include/assert.h
Scott Duensing e65fedc8e1 Checkpoint
2026-05-13 15:48:34 -05:00

20 lines
545 B
C

#ifndef _ASSERT_H
#define _ASSERT_H
void __assert_fail(const char *expr, const char *file, unsigned int line,
const char *func) __attribute__((noreturn));
#ifdef NDEBUG
# define assert(x) ((void)0)
#else
# define assert(x) ((x) ? (void)0 : \
__assert_fail(#x, __FILE__, __LINE__, __func__))
#endif
// C11 static_assert — clang implements `_Static_assert` as a keyword.
// The macro spelling allows portable code that uses `static_assert(...)`.
#ifndef __cplusplus
# define static_assert _Static_assert
#endif
#endif