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

Geert Uytterhoeven
2006-10-09T15:32:07Z

On Mon, 9 Oct 2006, Arnd Bergmann wrote:
> 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.

IC.

Well, I meant that of course you have to include <stdint.h> at the top of
<linux/types.h>. I just thought inside that particular #ifdef wasn't the right
place.

Problem solved :-)

Gr{oetje,eeting}s,

Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds