Include <strings.h> for ffs().

ffs() is in <strings.h> although bsd compatible systems have it in
<string.h> already.  ffs() is used in omap1.c, omap2.c, omap_i2c.c,
bt-sdp.c.  These uses can be replaced with clz32() but ffs is more
available.  Problem was spotted by malc.

Make host-utils.h formatting more consistent.


git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5708 c046a42c-6fe2-441c-8c8c-71466251a162
This commit is contained in:
balrog 2008-11-12 17:18:41 +00:00
parent be3512610b
commit c89068455d
2 changed files with 25 additions and 24 deletions

View File

@ -116,7 +116,7 @@ static always_inline int clo64(uint64_t val)
return clz64(~val);
}
static always_inline int ctz32 (uint32_t val)
static always_inline int ctz32(uint32_t val)
{
#if QEMU_GNUC_PREREQ(3, 4)
if (val)
@ -128,39 +128,39 @@ static always_inline int ctz32 (uint32_t val)
cnt = 0;
if (!(val & 0x0000FFFFUL)) {
cnt += 16;
cnt += 16;
val >>= 16;
}
}
if (!(val & 0x000000FFUL)) {
cnt += 8;
cnt += 8;
val >>= 8;
}
}
if (!(val & 0x0000000FUL)) {
cnt += 4;
cnt += 4;
val >>= 4;
}
}
if (!(val & 0x00000003UL)) {
cnt += 2;
cnt += 2;
val >>= 2;
}
}
if (!(val & 0x00000001UL)) {
cnt++;
cnt++;
val >>= 1;
}
}
if (!(val & 0x00000001UL)) {
cnt++;
}
cnt++;
}
return cnt;
return cnt;
#endif
}
static always_inline int cto32 (uint32_t val)
{
}
static always_inline int cto32(uint32_t val)
{
return ctz32(~val);
}
static always_inline int ctz64 (uint64_t val)
static always_inline int ctz64(uint64_t val)
{
#if QEMU_GNUC_PREREQ(3, 4)
if (val)
@ -180,12 +180,12 @@ static always_inline int ctz64 (uint64_t val)
#endif
}
static always_inline int cto64 (uint64_t val)
static always_inline int cto64(uint64_t val)
{
return ctz64(~val);
}
static always_inline int ctpop8 (uint8_t val)
static always_inline int ctpop8(uint8_t val)
{
val = (val & 0x55) + ((val >> 1) & 0x55);
val = (val & 0x33) + ((val >> 2) & 0x33);
@ -194,7 +194,7 @@ static always_inline int ctpop8 (uint8_t val)
return val;
}
static always_inline int ctpop16 (uint16_t val)
static always_inline int ctpop16(uint16_t val)
{
val = (val & 0x5555) + ((val >> 1) & 0x5555);
val = (val & 0x3333) + ((val >> 2) & 0x3333);
@ -204,7 +204,7 @@ static always_inline int ctpop16 (uint16_t val)
return val;
}
static always_inline int ctpop32 (uint32_t val)
static always_inline int ctpop32(uint32_t val)
{
#if QEMU_GNUC_PREREQ(3, 4)
return __builtin_popcount(val);
@ -219,7 +219,7 @@ static always_inline int ctpop32 (uint32_t val)
#endif
}
static always_inline int ctpop64 (uint64_t val)
static always_inline int ctpop64(uint64_t val)
{
#if QEMU_GNUC_PREREQ(3, 4)
return __builtin_popcountll(val);

View File

@ -7,6 +7,7 @@
#include <stdio.h>
#include <stdarg.h>
#include <string.h>
#include <strings.h>
#include <inttypes.h>
#include <limits.h>
#include <time.h>