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.

Reply via email to