"valgrind", VG_BUGS_TO, "")
#define vg_assert(expr) \
- ((void) ((expr) ? 0 : \
+ ((void) (LIKELY(expr) ? 0 : \
(VG_(assert_fail) (/*isCore*/True, #expr, \
__FILE__, __LINE__, __PRETTY_FUNCTION__, \
""), \
0)))
#define vg_assert2(expr, format, args...) \
- ((void) ((expr) ? 0 : \
+ ((void) (LIKELY(expr) ? 0 : \
(VG_(assert_fail) (/*isCore*/True, #expr, \
__FILE__, __LINE__, __PRETTY_FUNCTION__, \
format, ##args), \
#define VG_BUGS_TO "www.valgrind.org"
/* Branch prediction hints. */
-#if 1 /*HAVE_BUILTIN_EXPECT*/
+#if defined(__GNUC__)
# define LIKELY(x) __builtin_expect(!!(x), 1)
-# define UNLIKELY(x) __builtin_expect((x), 0)
+# define UNLIKELY(x) __builtin_expect(!!(x), 0)
#else
# define LIKELY(x) (x)
# define UNLIKELY(x) (x)
#define __PUB_TOOL_LIBCBASSERT_H
#define tl_assert(expr) \
- ((void) ((expr) ? 0 : \
+ ((void) (LIKELY(expr) ? 0 : \
(VG_(assert_fail) (/*isCore?*/False, (const Char*)#expr, \
(const Char*)__FILE__, __LINE__, \
(const Char*)__PRETTY_FUNCTION__, \
0)))
#define tl_assert2(expr, format, args...) \
- ((void) ((expr) ? 0 : \
+ ((void) (LIKELY(expr) ? 0 : \
(VG_(assert_fail) (/*isCore?*/False, (const Char*)#expr, \
(const Char*)__FILE__, __LINE__, \
(const Char*)__PRETTY_FUNCTION__, \