When built in a C++ application, the jhash include fails:

rte_jhash.h:123:22: error:
invalid conversion from ?const void*? to ?const uint32_t*? [-fpermissive]
  const uint32_t *k = key;
                      ^

Fixes: 8718219a8737 ("hash: add new jhash functions")

Signed-off-by: Thomas Monjalon <thomas.monjalon at 6wind.com>
---
 lib/librte_hash/rte_jhash.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/lib/librte_hash/rte_jhash.h b/lib/librte_hash/rte_jhash.h
index 457f225..207478c 100644
--- a/lib/librte_hash/rte_jhash.h
+++ b/lib/librte_hash/rte_jhash.h
@@ -120,7 +120,7 @@ __rte_jhash_2hashes(const void *key, uint32_t length, 
uint32_t *pc,
         * If check_align is not set, first case will be used
         */
 #if defined(RTE_ARCH_X86_64) || defined(RTE_ARCH_I686) || 
defined(RTE_ARCH_X86_X32)
-       const uint32_t *k = key;
+       const uint32_t *k = (const uint32_t *)key;
        const uint32_t s = 0;
 #else
        const uint32_t *k = (uint32_t *)((uintptr_t)key & (uintptr_t)~3);
-- 
2.7.0

Reply via email to