util/bitscan: use correct signature for ffs/ffsll
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>
This commit is contained in:
committed by
Emil Velikov
parent
fb0832b86d
commit
a72ac98160
+2
-2
@@ -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;
|
||||
|
||||
|
||||
+4
-4
@@ -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
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user