util: Unbreak usage of assert()/debug_assert() inside expressions.
authorJosé Fonseca <jfonseca@vmware.com>
Fri, 12 Dec 2014 14:06:17 +0000 (14:06 +0000)
committerJosé Fonseca <jfonseca@vmware.com>
Fri, 12 Dec 2014 14:19:53 +0000 (14:19 +0000)
f0ba7d897d1c22202531acb70f134f2edc30557d made debug_assert()/assert()
unsafe for expressions, but only now that u_atomic.h started to rely on
them for Windows that this became an issue.

This fixes non-debug builds with MSVC.
Reviewed-by: Brian Paul <brianp@vmware.com>
src/gallium/auxiliary/util/u_debug.h

index badd5e296f6bdb85467b0181cbb1bf0dd9614551..4c22fdfb6faee6c2ef04d825b8906a673138f6eb 100644 (file)
@@ -185,7 +185,7 @@ void _debug_assert_fail(const char *expr,
 #ifdef DEBUG
 #define debug_assert(expr) ((expr) ? (void)0 : _debug_assert_fail(#expr, __FILE__, __LINE__, __FUNCTION__))
 #else
-#define debug_assert(expr) do { } while (0 && (expr))
+#define debug_assert(expr) (void)(0 && (expr))
 #endif