From 7f1c264d3049cd95234e91970ccb5406e1d15b27 Mon Sep 17 00:00:00 2001 From: Damien Miller <djm@mindrot.org> Date: Thu, 15 May 2014 18:01:52 +1000 Subject: [PATCH] - (djm) [sshbuf.c] need __predict_false --- ChangeLog | 1 + sshbuf.c | 10 ++++++++++ 2 files changed, 11 insertions(+) diff --git a/ChangeLog b/ChangeLog index 6f8deb439..3d8b9af09 100644 --- a/ChangeLog +++ b/ChangeLog @@ -139,6 +139,7 @@ [regress/unittests/test_helper/fuzz.c] [regress/unittests/test_helper/test_helper.c] Hook new unit tests into the build and "make tests" + - (djm) [sshbuf.c] need __predict_false 20140430 - (dtucker) [defines.h] Define __GNUC_PREREQ__ macro if we don't already diff --git a/sshbuf.c b/sshbuf.c index 36a8b92f6..7f7b9f1da 100644 --- a/sshbuf.c +++ b/sshbuf.c @@ -28,6 +28,16 @@ #include "ssherr.h" #include "sshbuf.h" +/* XXX move to defines.h? */ +#if defined(__GNUC__) && \ + ((__GNUC__ > (2)) || (__GNUC__ == (2) && __GNUC_MINOR__ >= (96))) +#define __predict_true(exp) __builtin_expect(((exp) != 0), 1) +#define __predict_false(exp) __builtin_expect(((exp) != 0), 0) +#else +#define __predict_true(exp) ((exp) != 0) +#define __predict_false(exp) ((exp) != 0) +#endif + static inline int sshbuf_check_sanity(const struct sshbuf *buf) {