Re: [PATCH] 2.5.21 - list.h cleanup

From: george anzinger (
Date: Tue Jun 11 2002 - 09:52:56 EST

Linus Torvalds wrote:
> On Tue, 11 Jun 2002, Rusty Russell wrote:
> >
> > Worst sin is that you can't predeclare typedefs. For many uses (not the
> > list macros of course):
> > struct xx;
> > is sufficient and avoids the #include hell,
> True.
> However, that only works for function declarations.
> typedefs are easy to avoid.
> The real #include hell comes, to a large degree, from the fact that we
> like inline functions. Which have many wonderful properties, but they have
> the same nasty property typedefs have: they require full type information
> and cannot be predeclared.
> And while I'd like to avoid #include hell, I'm not willing to replace
> inline functions with #define's to avoid it ;^p

On wonders if it might be useful to split header files into
say for example, list_d.h and list_i.h with the declarations
in the "_d.h" and inlines in the "_i.h". Then we could move
the "_i.h" includes to the end of the include list. Yeah, I
know, too many includes in includes to work.

By the way, my reading of the C standard indicates that they
don't _have to_ compile the inlines when they are found, but
_may_ defer the compile until they are referenced by
non-inline code. This change would fix the problem.

George Anzinger
Real time sched:
Preemption patch:
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to
More majordomo info at
Please read the FAQ at

This archive was generated by hypermail 2b29 : Sat Jun 15 2002 - 22:00:22 EST