diff options
Diffstat (limited to 'rts/include/Rts.h')
-rw-r--r-- | rts/include/Rts.h | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/rts/include/Rts.h b/rts/include/Rts.h index e3471cf333..2399f8ce7f 100644 --- a/rts/include/Rts.h +++ b/rts/include/Rts.h @@ -120,12 +120,20 @@ extern "C" { void _assertFail(const char *filename, unsigned int linenum) GNUC3_ATTRIBUTE(__noreturn__); +void _warnFail(const char *filename, unsigned int linenum); + #define CHECK(predicate) \ if (RTS_LIKELY(predicate)) \ /*null*/; \ else \ _assertFail(__FILE__, __LINE__) +#define CHECKWARN(predicate) \ + if (RTS_LIKELY(predicate)) \ + /*null*/; \ + else \ + _warnFail(__FILE__, __LINE__) + #define CHECKM(predicate, msg, ...) \ if (RTS_LIKELY(predicate)) \ /*null*/; \ @@ -143,11 +151,16 @@ void _assertFail(const char *filename, unsigned int linenum) do { CHECK(predicate); } while(0) #define ASSERTM(predicate,msg,...) \ do { CHECKM(predicate, msg, ##__VA_ARGS__); } while(0) +#define WARN(predicate) \ + do { CHECKWARN(predicate); } while(0) + #else #define ASSERT(predicate) \ do { (void) sizeof(predicate); } while(0) #define ASSERTM(predicate,msg,...) \ do { (void) sizeof(predicate); (void) sizeof(msg); } while(0) +#define WARN(predicate) \ + do { (void) sizeof(predicate); } while(0) #endif /* DEBUG */ /* |