[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

[Bug tree-optimization/18694] [4.0 regression] loop miscompilation at -O1 (-ftree-ch)



------- Additional Comments From steven at gcc dot gnu dot org  2004-12-08 22:18 -------
extern int printf (__const char *__restrict __format, ...); 
 
void 
divisors_bug(long *t, long e, long P) 
{ 
  long j; 
  long *d, *old_d, *act_d, *tmp; 
 
  d = t; 
  *++d = 5; 
  old_d = t; 
  for (j = e; j; j--) 
    { 
      act_d = d; 
      tmp = old_d; 
      while (tmp < act_d) 
        *++d = *(++tmp); 
      old_d=act_d; 
    } 
} 
 
int main(void) 
{ 
  long t[4]; 
  long i; 
 
  divisors_bug(t,2,2); 
  for(i=1;i<4;i++) 
    printf("%ld ",t[i]); 
  printf("\n"); 
  return 0; 
} 
 
Expected output: 5 5 5 
Output with -O1: 5 5 garbage 
 

-- 


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

------- You are receiving this mail because: -------
You are on the CC list for the bug, or are watching someone who is.



Reply to: