hash: fix header for C++
authorThomas Monjalon <thomas.monjalon@6wind.com>
Fri, 5 Feb 2016 16:06:05 +0000 (17:06 +0100)
committerThomas Monjalon <thomas.monjalon@6wind.com>
Sun, 21 Feb 2016 10:47:57 +0000 (11:47 +0100)
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@6wind.com>
Acked-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
lib/librte_hash/rte_jhash.h

index 457f225..207478c 100644 (file)
@@ -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);