else \
_assertFail(__FILE__, __LINE__)
+#define CHECKM(predicate, msg, ...) \
+ if (predicate) \
+ /*null*/; \
+ else \
+ barf(msg, ##__VA_ARGS__)
+
#ifndef DEBUG
#define ASSERT(predicate) /* nothing */
+#define ASSERTM(predicate,msg,...) /* nothing */
#else
#define ASSERT(predicate) CHECK(predicate)
+#define ASSERTM(predicate,msg,...) CHECKM(predicate,msg,##__VA_ARGS__)
#endif /* DEBUG */
/*
#define FMT_Word64 "lu"
#define FMT_Int64 "ld"
#else
+#if defined(mingw32_HOST_OS)
+/* mingw doesn't understand %llu/%lld - it treats them as 32-bit
+ rather than 64-bit */
+#define FMT_Word64 "I64u"
+#define FMT_Int64 "I64d"
+#else
#define FMT_Word64 "llu"
#define FMT_Int64 "lld"
#endif
+#endif
/* -----------------------------------------------------------------------------
Include everything STG-ish