util/bitscan: use correct signature for ffs/ffsll
authorEmil Velikov <emil.velikov@collabora.com>
Thu, 9 Mar 2017 17:45:19 +0000 (17:45 +0000)
committerEmil Velikov <emil.l.velikov@gmail.com>
Mon, 13 Mar 2017 11:16:34 +0000 (11:16 +0000)
Otherwise we'll get errors such as

error: conflicting types for ‘ffs’
error: conflicting types for ‘ffsll’

We might want to improve the heuristics and provide a definition only
when a native one is missing. We can address that at a later stage.

Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
src/util/bitscan.c
src/util/bitscan.h

index ceca59eba981b6c3578b98c4af24aa9c092221e6..7858291bf63429682f135b9467f1041b4633b036 100644 (file)
@@ -32,7 +32,7 @@
 #elif defined(_MSC_VER) && (_M_IX86 || _M_ARM || _M_AMD64 || _M_IA64)
 #else
 int
-ffs(unsigned i)
+ffs(int i)
 {
    int bit = 0;
    if (!i)
@@ -63,7 +63,7 @@ ffs(unsigned i)
 #elif defined(_MSC_VER) && (_M_AMD64 || _M_ARM || _M_IA64)
 #else
 int
-ffsll(uint64_t val)
+ffsll(long long int val)
 {
    int bit;
 
index 32e027165cc106044dad87950ecbfafdd20840ef..7a605e0370fe6f2b42374ca32f47fa073cd1295c 100644 (file)
@@ -52,7 +52,7 @@ extern "C" {
 #define ffs __builtin_ffs
 #elif defined(_MSC_VER) && (_M_IX86 || _M_ARM || _M_AMD64 || _M_IA64)
 static inline
-int ffs(unsigned i)
+int ffs(int i)
 {
    unsigned long index;
    if (_BitScanForward(&index, i))
@@ -62,14 +62,14 @@ int ffs(unsigned i)
 }
 #else
 extern
-int ffs(unsigned i);
+int ffs(int i);
 #endif
 
 #ifdef HAVE___BUILTIN_FFSLL
 #define ffsll __builtin_ffsll
 #elif defined(_MSC_VER) && (_M_AMD64 || _M_ARM || _M_IA64)
 static inline int
-ffsll(uint64_t i)
+ffsll(long long int i)
 {
    unsigned long index;
    if (_BitScanForward64(&index, i))
@@ -79,7 +79,7 @@ ffsll(uint64_t i)
 }
 #else
 extern int
-ffsll(uint64_t val);
+ffsll(long long int val);
 #endif