------- Comment #16 from rakdver at gcc dot gnu dot org  2005-11-01 14:15 
-------
Smaller testcase:

int e_fn (int *p, int *q)
{
  return *p - *q;
}

int main (void)
{
  int a[8] = {2,2,2,2,2,2,2,2};
  int b[8] = {0,1,0,1,0,1,0,1};
  int A[8];
  unsigned i, j;
  int tmp;
  int *p = A;

  for (i = 1, j = 6; i < 5; i++, j -= 2)
    {
      tmp = b[2*i-2] + 1;
      A[2*i - 2] = e_fn(&a[j], &tmp);

      tmp = b[2*i-1] + 1;
      A[2*i - 1] = e_fn(&a[j+1], &tmp);
    }

  for (i = 1; i < 4; i++)
    a[2*i-1] = p[2*i -1];

  printf ("%d\n",p[7]);
  return 0;
}


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22509

Reply via email to