When this problem kept occurring with gcc releases up to 3.3
snapshots in
April 2003, I started to work on it and found that the native gcc on
the
machine I was building the cross-compiler on was generating bad code!
(Inserting printf()'s in gcc to debug the problem made it go away)
It works on another machine just fine.
I don't know why the .i would have errors in it, though... but it's a
moot
point. (The simplest code that the problem manifested on was "int
foo[2];"
and it was failing in c-decl.c in grokdeclarator() after constant
folding
gave a bad result when folding the expression for "2-1" -- but that
was just
because gcc was miscompiled by the native gcc)
Sorry for the bogus bug report.
I'm not going to file a bug report on the native gcc since it was old
(3.0.x) and there is no audit trail showing who built it and how.
-- Jeff