Re: __user annotations

Arnaldo Carvalho de Melo (acme@conectiva.com.br)
Fri, 6 Jun 2003 22:06:01 -0300


Em Fri, Jun 06, 2003 at 05:43:58PM -0700, Linus Torvalds escreveu:
>
> On Sat, 7 Jun 2003, Paul Mackerras wrote:
> > Linus Torvalds writes:
> >
> > > You can get check from
> > >
> > > bk://kernel.bkbits.net/torvalds/sparse
> >
> > Is that up to date? I cloned that repository and said "make" and got
> > heaps of compile errors. First there were a heap of warnings like
> > this:
>
> You need to have a modern compiler. The "heaps of errors" is what you get
> if you use a stone-age compiler that doesn't support anonymous structure
> and union members or other C99 features.
>
> Gcc has supported them since some pre-3.x version (which is pretty late,
> since they've been around in other compilers for much longer). They are a
> great way to make readable data structures that have internal structure
> _without_ having to have that structure show up unnecessarily in usage.

In 3.3 this style is not accepted (haven't read the c99 draft to see if it is
OK)

struct foo {
struct bar {
int a, b;
};
}

But this one is:

struct foo {
struct /* bar */ {
int a, b;
}
}

Does anybody knows if gcc 3.3 behaviour is correct and the fact that gcc 3.2
accepts the former style was just a temporary bug?

- Arnaldo
-
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/