Re: [PATCH] 2.4.21-rc1: byteorder.h breaks with __STRICT_ANSI__defined (trivial)

From: David S. Miller
Date: Thu Nov 06 2003 - 15:12:28 EST


On Thu, 06 Nov 2003 22:09:29 +0200
Martin Schlemmer <azarah@xxxxxxxxxx> wrote:

> On Thu, 2003-11-06 at 21:37, David S. Miller wrote:
> > Let's say that you end up using some inline function
> > that takes u32 arguments, and internally it uses
> > u64 types to speed up the calculation or make it more
> > accurate or something like that.
>
> So basically only in cases where the stuff in byteorder.h
> was not inlined ... ?

No, exactly in the cases where it _IS_ inlined. Imagine
this:

static inline u32 swab_foo(u32 a, u32 b)
{
u64 tmp = ((u64)a<<32) | ((u64)b);
u32 retval;

retval = compute(tmp);

return retval;
}

If that's in a kernel header somewhere, and you build with -ansi,
you lose.
-
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/