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:
Emil Velikov 2017-03-09 17:45:19 +00:00 committed by Emil Velikov
parent fb0832b86d
commit a72ac98160
2 changed files with 6 additions and 6 deletions

View 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;

View 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