1/* PR tree-optimization/32772 */ 2 3struct S 4{ 5 unsigned long bits[1]; 6}; 7 8void f1 (int, unsigned long *); 9int f2 (void); 10int f3 (int, unsigned long *); 11int f4 (int, unsigned long *); 12 13static inline __attribute__ ((always_inline)) 14void baz (int x, volatile struct S *y) 15{ 16 f1 (x, y->bits); 17} 18 19static int 20bar (int x, struct S *y) 21{ 22 int n; 23 if (__builtin_constant_p (x) ? f3 (x, y->bits) : f4 (x, y->bits)) 24 baz (x, y); 25 for (n = f2 (); n < 8; n = f2 ()) 26 f3 (n, y->bits); 27} 28 29void 30foo (int x, int y) 31{ 32 struct S m; 33 while ((y = bar (x, &m)) >= 0); 34} 35