prime/include/musyx/assert.h
Phillip Stephens 0c37932be2 More musyx work
Former-commit-id: 4919b49af69643f118091e498fad47ef2bdbb52e
2022-12-24 14:54:58 -08:00

33 lines
555 B
C

#ifndef _MUSYX_ASSERT
#define _MUSYX_ASSERT
extern void OSPanic(const char* file, int line, const char* msg, ...);
#ifndef ASSERT
#ifdef _DEBUG
#define ASSERT(cond) \
do { \
if (!cond) { \
OSPanic(__FILE__, __LINE__, "Failed assertion " #cond); \
} \
} while(0)
#else
#define ASSERT(cond)
#endif
#endif
#ifndef ASSERT_MSG
#ifdef _DEBUG
#define ASSERT_MSG(cond, msg) \
do { \
if (!cond) { \
OSPanic(__FILE__, __LINE__, msg); \
} \
} while(0)
#else
#define ASSERT_MSG(cond, msg)
#endif
#endif
#endif // _MUSYX_ASSERT