1 /* PR rtl-optimization/54290 */ 2 /* Testcase by Eric Volk <eriksnga@gmail.com> */ 3 4 double vd[2] = {1., 0.}; 5 int vi[2] = {1234567890, 0}; 6 double *pd = vd; 7 int *pi = vi; 8 9 extern void abort(void); 10 11 void init (int *n, int *dummy) __attribute__ ((noinline,noclone)); 12 init(int * n,int * dummy)13void init (int *n, int *dummy) 14 { 15 if(0 == n) dummy[0] = 0; 16 } 17 main(void)18int main (void) 19 { 20 int dummy[1532]; 21 int i = -1, n = 1, s = 0; 22 init (&n, dummy); 23 while (i < n) { 24 if (i == 0) { 25 if (pd[i] > 0) { 26 if (pi[i] > 0) { 27 s += pi[i]; 28 } 29 } 30 pd[i] = pi[i]; 31 } 32 ++i; 33 } 34 if (s != 1234567890) 35 abort (); 36 return 0; 37 } 38