Normally, hash_finish() is declared as:
static inline uint32_t hash_finish(uint32_t hash, uint32_t final)

When __SSE4_2__ && __x86_64__, it is declared as:
static inline uint32_t hash_finish(uint64_t hash, uint64_t final)

A recent commit added an unneeded prototype in the first form, which caused
an error due to the redeclaration of a different type when the second form
was actually used.  This removes the prototype, fixing the problem.

It may not be a great idea to have two different forms for this function,
but it's long standing and so I don't want to change it immediately without
proper consideration.

Reported-by: "Fischetti, Antonio" <[email protected]>
Fixes: 67702b79d845 ("hash: New helper functions for adding words in a buffer 
to a hash.")
Signed-off-by: Ben Pfaff <[email protected]>
---
 lib/hash.h | 1 -
 1 file changed, 1 deletion(-)

diff --git a/lib/hash.h b/lib/hash.h
index 7dffeaa9cacc..a642a1e97954 100644
--- a/lib/hash.h
+++ b/lib/hash.h
@@ -92,7 +92,6 @@ static inline uint32_t mhash_finish(uint32_t hash)
 
 static inline uint32_t hash_add(uint32_t hash, uint32_t data);
 static inline uint32_t hash_add64(uint32_t hash, uint64_t data);
-static inline uint32_t hash_finish(uint32_t hash, uint32_t final);
 
 static inline uint32_t hash_add_words(uint32_t, const uint32_t *, size_t);
 static inline uint32_t hash_add_words64(uint32_t, const uint64_t *, size_t);
-- 
2.10.2

_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to