mirror of
https://github.com/TorqueGameEngines/Torque3D.git
synced 2026-01-21 13:14:46 +00:00
25 lines
704 B
C++
25 lines
704 B
C++
#ifndef AL_ASSERT_H
|
|
#define AL_ASSERT_H
|
|
|
|
#include <array>
|
|
|
|
#include "opthelpers.h"
|
|
|
|
namespace al {
|
|
|
|
[[noreturn]]
|
|
void do_assert(const char *message, int linenum, const char *filename, const char *funcname) noexcept;
|
|
|
|
} /* namespace al */
|
|
|
|
/* A custom assert macro that is not compiled out for Release/NDEBUG builds,
|
|
* making it an appropriate replacement for assert() checks that must not be
|
|
* ignored.
|
|
*/
|
|
#define alassert(cond) do { \
|
|
if(!(cond)) UNLIKELY \
|
|
al::do_assert("Assertion '" #cond "' failed", __LINE__, __FILE__, std::data(__func__)); \
|
|
} while(0)
|
|
|
|
#endif /* AL_ASSERT_H */
|