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; ^ The cast must be explicit for C++.
Fixes: 8718219a8737 ("hash: add new jhash functions") Signed-off-by: Thomas Monjalon <thomas.monjalon at 6wind.com> Acked-by: Pablo de Lara <pablo.de.lara.guarch at intel.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