eal: fix unused value warning in memcpy macro
authorPawel Wodkowski <pawelx.wodkowski@intel.com>
Mon, 15 Dec 2014 16:55:02 +0000 (16:55 +0000)
committerThomas Monjalon <thomas.monjalon@6wind.com>
Tue, 16 Dec 2014 23:40:37 +0000 (00:40 +0100)
GCC 4.5.1 from SUSE throws this error:
lib/librte_pmd_enic/enic_main.c:862:2: error: value computed is not used

This change use statements in expressions C extension provided by gcc to avoid
'value computed is not used' warning/error when size is not known at compile
time.

Reported-by: Michael Qiu <michael.qiu@intel.com>
Signed-off-by: Pawel Wodkowski <pawelx.wodkowski@intel.com>
Acked-by: Michael Qiu <michael.qiu@intel.com>
[Thomas: apply same fix to ppc_64]
Acked-by: Thomas Monjalon <thomas.monjalon@6wind.com>
lib/librte_eal/common/include/arch/ppc_64/rte_memcpy.h
lib/librte_eal/common/include/arch/x86/rte_memcpy.h

index 31daa0d..acf7aac 100644 (file)
@@ -95,9 +95,9 @@ rte_mov256(uint8_t *dst, const uint8_t *src)
 }
 
 #define rte_memcpy(dst, src, n)              \
-       ((__builtin_constant_p(n)) ?          \
+       ({ (__builtin_constant_p(n)) ?       \
        memcpy((dst), (src), (n)) :          \
-       rte_memcpy_func((dst), (src), (n)))
+       rte_memcpy_func((dst), (src), (n)); })
 
 static inline void *
 rte_memcpy_func(void *dst, const void *src, size_t n)
index 290c5cd..fb9eba8 100644 (file)
@@ -169,9 +169,9 @@ rte_mov256(uint8_t *dst, const uint8_t *src)
 }
 
 #define rte_memcpy(dst, src, n)              \
-       ((__builtin_constant_p(n)) ?          \
+       ({ (__builtin_constant_p(n)) ?       \
        memcpy((dst), (src), (n)) :          \
-       rte_memcpy_func((dst), (src), (n)))
+       rte_memcpy_func((dst), (src), (n)); })
 
 static inline void *
 rte_memcpy_func(void *dst, const void *src, size_t n)