1 #ifndef HLASSERT_H__ 2 #define HLASSERT_H__ 3 4 #if _MSC_VER >= 1000 5 #pragma once 6 #endif 7 8 #ifdef SYSTEM_WIN32 9 #ifdef _DEBUG 10 11 #include "log.h" 12 13 #define assume(exp, message) {if (!(exp)) {Log("\n***** ERROR *****\nAssume '%s' failed\n at %s:%d\n %s\n\n", #exp, __FILE__, __LINE__, message); __asm{int 3} }} 14 #define hlassert(exp) assume(exp, "") 15 16 #else // _DEBUG 17 18 #define assume(exp, message) {if (!(exp)) {Error("\nAssume '%s' failed\n at %s:%d\n %s\n\n", #exp, __FILE__, __LINE__, message);}} 19 #define hlassert(exp) 20 21 #endif // _DEBUG 22 #endif // SYSTEM_WIN32 23 24 #ifdef SYSTEM_POSIX 25 #ifdef _DEBUG 26 27 #include "log.h" 28 29 #define assume(exp, message) {if (!(exp)) {Log("\n***** ERROR *****\nAssume '%s' failed\n at %s:%d\n %s\n\n", #exp, __FILE__, __LINE__, message); exit(-1); }} 30 #define hlassert(exp) assume(exp, "") 31 32 #else // _DEBUG 33 34 #define assume(exp, message) {if (!(exp)) {Error("\nAssume '%s' failed\n\n", #exp, __FILE__, __LINE__, message);}} 35 #define hlassert(exp) 36 37 #endif // _DEBUG 38 #endif // SYSTEM_POSIX 39 40 #endif // SYSTEM_POSIX HLASSERT_H__ 41