lkml.org 
[lkml]   [2002]   [Jun]   [12]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
SubjectRe: [PATCH] 2.5.21 - list.h cleanup
Date
In message <E17Hz8A-0003oC-00@wagner.rustcorp.com.au>, > : Rusty Russell writes
:
> In message <E17HpqG-000454-00@w-gerrit2> you write:
> > In message <Pine.LNX.4.44.0206110128130.1987-100000@home.transmeta.com>, > :
> Li
> > nus Torvalds writes:
> > >
> > >
> > > 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.
> >
> > Untrue. Or partially true (yes, you *can* use struct xx;).
> >
> > But you can also use:
> >
> > typedef foo_t;
>
> Huh? In what language? Try it with -Wall to see what you're really
> doing here, and think about what happens when you put that in one
> header, and the real typedef in another.

I sit corrected. Synapse must have misfired. The only references
I see to incomplete typedefs in our code or in the ANSI spec are
related to:

typedef struct foo foo_t;

No, we didn't use gcc for our kernel but it was an ANSI compiler.
My test didn't use -Wall for gcc, duh...

I was thinking that incomplete typedefs would be okay as long as you
only used them in prototypes, but only struct */union * pointers
are guaranteed to be compatible, not int */struct * pointer, so
this couldn't have been of any use.

I'll be sure to consume one extra beer this weekend to kill off that
bad synapse.

gerrit
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-03-22 13:26    [W:0.051 / U:13.668 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site