Update local poll() implementation.
[awesomized/libmemcached] / libmemcached / assert.hpp
index f2fc158d88a761172044b9c1a3e0d19e6e64e6e4..d66b096fb4f5fcfb94400d29fa65878a0a5e67bf 100644 (file)
 
 #pragma once
 
-#ifdef _WIN32
-# include <malloc.h>
+#ifdef __cplusplus
+# include <cassert>
 #else
-# include <alloca.h>
-#endif
-
-#include <cstdarg>
+# include <assert.h>
+#endif // __cplusplus
 
 #ifdef NDEBUG
-#define assert_msg(__expr, __mesg) (void)(__expr); (void)(__mesg);
-#define assert_vmsg(__expr, __mesg, ...) (void)(__expr); (void)(__mesg);
+# define assert_msg(__expr, __mesg) (void)(__expr); (void)(__mesg);
+# define assert_vmsg(__expr, __mesg, ...) (void)(__expr); (void)(__mesg);
+#else
+
+# ifdef _WIN32
+#  include <malloc.h>
+# else
+#  include <alloca.h>
+# endif
+
+#ifdef __cplusplus
+# include <cstdarg>
+# include <cstdio>
 #else
+# include <stdarg.h>
+# include <stdio.h>
+#endif
 
-#define assert_msg(__expr, __mesg) \
+# include <libmemcached/backtrace.hpp>
+
+# define assert_msg(__expr, __mesg) \
 do \
 { \
   if (not (__expr)) \
@@ -61,7 +75,7 @@ do \
   } \
 } while (0)
 
-#define assert_vmsg(__expr, __mesg, ...) \
+# define assert_vmsg(__expr, __mesg, ...) \
 do \
 { \
   if (not (__expr)) \
@@ -76,4 +90,4 @@ do \
   } \
 } while (0)
 
-#endif
+#endif // NDEBUG