- don't redefine likely/unlikely on compilers already defining them,
- don't use builtins on compilers not supporting them.
Signed-off-by: Etienne Bergeron <etienneb@google.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
#define fprintfn_warning(fp, node, fmt, args...) \
_bt_printfl(fp, "warning", (node)->lineno, fmt, ## args)
#define fprintfn_warning(fp, node, fmt, args...) \
_bt_printfl(fp, "warning", (node)->lineno, fmt, ## args)
-#define likely(x) __builtin_expect(!!(x), 1)
-#define unlikely(x) __builtin_expect(!!(x), 0)
+#ifndef likely
+# ifdef __GNUC__
+# define likely(x) __builtin_expect(!!(x), 1)
+# else
+# define likely(x) (!!(x))
+# endif
+#endif
+
+#ifndef unlikely
+# ifdef __GNUC__
+# define unlikely(x) __builtin_expect(!!(x), 0)
+# else
+# define unlikely(x) (!!(x))
+# endif
+#endif
/*
* BT_HIDDEN: set the hidden attribute for internal functions
/*
* BT_HIDDEN: set the hidden attribute for internal functions