summaryrefslogtreecommitdiff
path: root/lib/compiler.h
diff options
context:
space:
mode:
authorDonald Sharp <sharpd@nvidia.com>2023-02-17 14:56:48 -0500
committerDonald Sharp <sharpd@nvidia.com>2023-03-23 07:54:56 -0400
commit6a72124df9cfc4ec7dabddfae5b3ab63a1069b87 (patch)
treefafd604e588389250d17ffe0317a83473eda7845 /lib/compiler.h
parent9cc377d4d7ccae8a318d0162c5d0d6a6754d8b0a (diff)
babeld, lib, nhrpd: Add likely and unlikely macros
We have 2 competing versions of likely and unlikely in babeld and nhrpd. Standardize onto lower case versions and consolidate in the code. Signed-off-by: Donald Sharp <sharpd@nvidia.com>
Diffstat (limited to 'lib/compiler.h')
-rw-r--r--lib/compiler.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/lib/compiler.h b/lib/compiler.h
index d12e282832..29fcfbefbf 100644
--- a/lib/compiler.h
+++ b/lib/compiler.h
@@ -439,6 +439,14 @@ _Static_assert(sizeof(_uint64_t) == 8 && sizeof(_int64_t) == 8,
#pragma diag_suppress 167
#endif /* __INTELISENSE__ */
+#if defined(__GNUC__) && (__GNUC__ >= 3)
+#define likely(_x) __builtin_expect(!!(_x), 1)
+#define unlikely(_x) __builtin_expect(!!(_x), 0)
+#else
+#define likely(_x) !!(_x)
+#define unlikely(_x) !!(_x)
+#endif
+
#ifdef __cplusplus
}
#endif