#pragma once
-#include <cstdlib>
-#include <cstdio>
-
#ifdef NDEBUG
-#define assert(__expr, __mesg) ((void)0)
+#define assert_msg(__expr, __mesg) (void)(__expr); (void)(__mesg);
#else
#define assert_msg(__expr, __mesg) \
{ \
if (not (__expr)) \
{ \
- fprintf(stderr, "\nAssertion \"%s\" failed for function \"%s\" likely for %s, at %s:%d\n", #__expr, __func__, (#__mesg), __FILE__, __LINE__);\
+ fprintf(stderr, "\n%s:%d Assertion \"%s\" failed for function \"%s\" likely for %s\n", __FILE__, __LINE__, #__expr, __func__, (#__mesg));\
custom_backtrace(); \
abort(); \
} \