Re: [PATCH 1/4] LOG2: Implement a general integer log2 facility in the kernel [try #4]

Arnd Bergmann
2006-10-09T15:27:39Z

On Monday 09 October 2006 17:05, Geert Uytterhoeven wrote:
>
> On Mon, 9 Oct 2006, Arnd Bergmann wrote:
> > On Monday 09 October 2006 15:09, Geert Uytterhoeven wrote:
> > > On Mon, 9 Oct 2006, Jan Engelhardt wrote:
> > > >
> > > > Ouch ouch ouch. It should better be
> > > >
> > > > typedef uint32_t __u32;
> > >
> > > You mean
> > >
> > > #ifdef __KERNEL__
> > > typedef __u32 u32;
> > > #else
> > > // Assumed we did #include <stdint.h> before
> > > typedef uint32_t __u32;
> > > #endif
> >
> > Why should that be a valid assumption? Right now, it works
> > if you don't include stdint.h in advance.
>
> According to C99 section 7.18 you need to include <stdint.h> first.

Sorry, I need to rephrase: you can include <linux/types.h> without
including <stdint.h> first, and many people do that.
Relying on uint32_t would mean we break existing source.