On 9/19/05, Paolo Bonzini <[EMAIL PROTECTED]> 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.