Re: Use of C99 int types

From: Adrian Bunk
Date: Sun Apr 03 2005 - 19:07:47 EST


On Mon, Apr 04, 2005 at 12:48:04AM +0200, Dag Arne Osvik wrote:
> Andreas Schwab wrote:
>
> >Dag Arne Osvik <da@xxxxxxxx> writes:
> >
> >
> >
> >>Yes, but wouldn't it be much better to avoid code like the following,
> >>which may also be wrong (in terms of speed)?
> >>
> >>#ifdef CONFIG_64BIT // or maybe CONFIG_X86_64?
> >>#define fast_u32 u64
> >>#else
> >>#define fast_u32 u32
> >>#endif
> >>
> >>
> >
> >How about using just unsigned long instead?
> >
> >
>
> unsigned long happens to coincide with uint_fast32_t for x86 and x86-64,
> but there's no guarantee that it will on other architectures.
>...

The stdint.h shipped with glibc says:

<-- snip -->

/* Unsigned. */
typedef unsigned char uint_fast8_t;
#if __WORDSIZE == 64
typedef unsigned long int uint_fast16_t;
typedef unsigned long int uint_fast32_t;
typedef unsigned long int uint_fast64_t;
#else
typedef unsigned int uint_fast16_t;
typedef unsigned int uint_fast32_t;
__extension__
typedef unsigned long long int uint_fast64_t;
#endif

<-- snip -->

> Dag Arne

cu
Adrian

--

"Is there not promise of rain?" Ling Tan asked suddenly out
of the darkness. There had been need of rain for many days.
"Only a promise," Lao Er said.
Pearl S. Buck - Dragon Seed

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/