/* PR rtl-optimization/24899 */ extern void abort (void); __attribute__ ((noinline)) int foo (int x, int y, int *z) { int a, b, c, d; a = b = 0; for (d = 0; d < y; d++) { if (z) b = d * *z; for (c = 0; c < x; c++) a += b; } return a; } int main (void) { if (foo (3, 2, 0) != 0) abort (); return 0; }