18 lines
482 B
C
18 lines
482 B
C
|
#pragma once
|
||
|
|
||
|
#ifdef BS_DEBUG_BREAK
|
||
|
#if defined(_WIN32) // Windows
|
||
|
#define BS_BREAKPOINT() __debugbreak()
|
||
|
#elif defined(__linux__) // Linux
|
||
|
#include <csignal>
|
||
|
#define BS_BREAKPOINT() std::raise(SIGTRAP)
|
||
|
#else // Non-supported
|
||
|
#define BS_BREAKPOINT() throw
|
||
|
#endif
|
||
|
|
||
|
#define BS_ASSERT(...) if (!(__VA_ARGS__)) { BS_BREAKPOINT(); return false; }
|
||
|
#else // BS_DEBUG_BREAK
|
||
|
#define BS_ASSERT(...) if (!(__VA_ARGS__)) { return false; }
|
||
|
|
||
|
#define BS_BREAKPOINT() throw
|
||
|
#endif // BS_DEBUG_BREAK
|