From 64741f237cf2990804dd85328c7dd6709f79c346 Mon Sep 17 00:00:00 2001 From: Bruce Richardson Date: Mon, 1 Dec 2014 11:38:55 +0000 Subject: [PATCH] app/testpmd: fix macro check for little endian Compiling with clang on FreeBSD gave a compilation error: app/test-pmd/csumonly.c:84:5: fatal error: '__BYTE_ORDER' is not defined, evaluates to 0 [-Wundef] Querying the preprocessor defines show both the define and value used are incorrect. $ clang -dM -E - < /dev/null | grep BYTE \#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__ Changing the check to __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__ then resolves the issue. Signed-off-by: Bruce Richardson Acked-by: Thomas Monjalon --- app/test-pmd/csumonly.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/test-pmd/csumonly.c b/app/test-pmd/csumonly.c index d8c080aaf6..6f43761ca6 100644 --- a/app/test-pmd/csumonly.c +++ b/app/test-pmd/csumonly.c @@ -81,7 +81,7 @@ /* we cannot use htons() from arpa/inet.h due to name conflicts, and we * cannot use rte_cpu_to_be_16() on a constant in a switch/case */ -#if __BYTE_ORDER == __LITTLE_ENDIAN +#if __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__ #define _htons(x) ((uint16_t)((((x) & 0x00ffU) << 8) | (((x) & 0xff00U) >> 8))) #else #define _htons(x) (x) -- 2.20.1