GCC 4.0.2 RC2
Richard Guenther
richard.guenther@gmail.com
Mon Sep 19 13:32:00 GMT 2005
On 9/19/05, Paolo Bonzini <paolo.bonzini@lu.unisi.ch> wrote:
>
> > I applied the patch by hand (not working with CVS) and it
> > does _not_ solve the problem.
> >
> In this case, I am sorry but the probability of a fix before the release
> is close to zero.
The problem with 4.0 is that it behaves completely different in this case
and the fix at expand time is too late. After gimplification we already have
sub (i)
{
static int C.0[1000000] = {0};
unsigned int i.1;
unsigned int D.1136;
int * D.1137;
int * D.1138;
int array[1000000];
array = C.0;
i.1 = (unsigned int) i;
D.1136 = i.1 * 4;
D.1137 = (int *) D.1136;
D.1138 = &array + D.1137;
sub2 (D.1138);
}
While for 4.1 we get
sub (i)
{
unsigned int i.0;
unsigned int D.1282;
int * D.1283;
int * D.1284;
int array[1000000];
array = {};
i.0 = (unsigned int) i;
D.1282 = i.0 * 4;
D.1283 = (int *) D.1282;
D.1284 = &array + D.1283;
sub2 (D.1284);
}
which is fine.
More information about the Gcc
mailing list