summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDamjan Marion <damarion@cisco.com>2021-04-25 10:55:53 +0200
committerFlorin Coras <florin.coras@gmail.com>2021-04-25 20:48:53 +0000
commitb14c49d2275f6348640572b7b481dad43f3a00d0 (patch)
tree4eb2dc3a39ba0119e670e78d6450871701b375e6
parente984831e079342865215d5511b535c8900095722 (diff)
vppinfra: add COMPILE_TIME_CONST() macro
Type: improvement Change-Id: I10d7489f57bc60eb92049962b4e6ea84974f17b8 Signed-off-by: Damjan Marion <damarion@cisco.com>
-rw-r--r--src/vppinfra/clib.h1
-rw-r--r--src/vppinfra/string.h2
2 files changed, 2 insertions, 1 deletions
diff --git a/src/vppinfra/clib.h b/src/vppinfra/clib.h
index 05af8fe7168..4629a7defb8 100644
--- a/src/vppinfra/clib.h
+++ b/src/vppinfra/clib.h
@@ -120,6 +120,7 @@
/* Hints to compiler about hot/cold code. */
#define PREDICT_FALSE(x) __builtin_expect((x),0)
#define PREDICT_TRUE(x) __builtin_expect((x),1)
+#define COMPILE_TIME_CONST(x) __builtin_constant_p (x)
/*
* Compiler barrier
diff --git a/src/vppinfra/string.h b/src/vppinfra/string.h
index fb46a0c6a0d..76d345e16bc 100644
--- a/src/vppinfra/string.h
+++ b/src/vppinfra/string.h
@@ -143,7 +143,7 @@ memcpy_s_inline (void *__restrict__ dest, rsize_t dmax,
* Optimize constant-number-of-bytes calls without asking
* "too many questions for someone from New Jersey"
*/
- if (__builtin_constant_p (n))
+ if (COMPILE_TIME_CONST (n))
{
clib_memcpy_fast (dest, src, n);
return EOK;