On Wed, May 23, 2007 at 11:25:44PM +0900, Neil Booth wrote:
> I respect you too much Al to doubt you, but I do warn you that
> getting the rules for integer constant expressions right in C is
> harder than it looks. GCC is not very close. The immediate
> cast of float bit painful in recursive descent parsers. I've managed
> to find cases where Comeau's online compiler doesn't get it right,
> and they're pretty good.
>
> I have a test suite that tests these things to an unhealthy level of
> pedantry for my own implementation (the only one I know passes the lot,
> of course 8-); happy to run sparse when you've finished if you like.
gcc integer constant expressions handling is a bad joke.
extern int n;
struct {
int x : 1 + n - n;
} y;
passes with -pedantic -std=c99. Replacing that with 1 + n - n + n - n
is still OK with gcc; 1 + n + n - n - n is not.
So that's hardly an example of, well, anything.
-
To unsubscribe from this list: send the line "unsubscribe linux-sparse" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at http://vger.kernel.org/majordomo-info.html