Re: [PATCH 7/7] asm-generic: suppress sparse warning in ioctl.h

From: Al Viro
Date: Wed Apr 02 2008 - 21:34:32 EST


On Wed, Apr 02, 2008 at 05:57:54PM -0700, Linus Torvalds wrote:
>
>
> On Wed, 2 Apr 2008, Harvey Harrison wrote:
> >
> > 1 ? 0 : x
> >
> > is not valid in contexts where C requires integer constant expressions.
> > Index in static array initializer is one of those.
>
> So I don't much like this one, because (a) we could just make sparse
> accept it and (b) gcc _does_ accept it and gives us nicer error messages.

Umm... How far do you want sparse to go? You _really_ don't want
bug-for-bug compatibility with gcc - it's far too weird (and that's
even before going into the effects of optimization flags).

BTW, what happened with sparse.git? The last changeset in there (in
/pub/scm/devel/sparse/sparse.git/ on g.k.o) is
commit a02aeb329d5a8f9047c0b75b7e7f64ee2db3ffcf
Author: Josh Triplett <josh@xxxxxxxxxxxxxxx>
Date: Tue Nov 13 04:15:13 2007 -0800

Makefile: VERSION=0.4.1

and I definitely had seen patches on sparse maillist since then (hell,
sent several myself - including fixes for show_typename(), etc.)

I don't mind doing more liberal ICE handling, *if* we agree on a well-defined
extensions to what C99 says. But I'd rather have some idea of what's pending
the inclusion into the tree...

As for the extensions... Amend 6.6p6 in a way similar to 6.6p3 (i.e. allow
any junk in unevaluated subexpressions)? Making that option-controlled,
probably...

BTW, gcc is very definitely buggy - int a[1 + 0 * x]; is accepted and
that breaks even 6.6p3, let alone 6.6p6. With -pedantic -std=c99 -Wall,
at that.
--
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/