Re: [patch 1/2] m68k: runtime patching infrastructure

From: Wouter Verhelst
Date: Sun Jun 03 2007 - 11:57:23 EST


On Tue, May 29, 2007 at 05:38:18PM -0700, Andrew Morton wrote:
[...]
> > +struct mod_arch_specific {
> > + struct m68k_fixup_info *fixup_start, *fixup_end;
> > +};
>
> Here we use struct m68k_fixup_info.
[...]
> > +struct m68k_fixup_info {
> > + enum m68k_fixup_type type;
> > + void *addr;
> > +};
>
> and later we define it.
>
> How come it doesn't spit warnings?

Because otherwise you couldn't create linked lists:

struct foo {
void* data;
struct foo* next;
};

At that point it hasn't been defined yet but it is being used. This is
legal, so the compiler can't create a warning for that.

Which is not to say that it's a nice coding style, but that's a
different matter.

--
Shaw's Principle:
Build a system that even a fool can use, and only a fool will
want to use it.
-
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/