1 /* PR tree-optimization/66949 */ 2 /* { dg-do compile } */ 3 4 int a, *b = &a, c; 5 6 unsigned short fn1(unsigned short p1,unsigned int p2)7fn1 (unsigned short p1, unsigned int p2) 8 { 9 return p2 > 1 || p1 >> p2 ? p1 : p1 << p2; 10 } 11 12 void fn2()13fn2 () 14 { 15 int *d = &a; 16 for (a = 0; a < -1; a = 1) 17 ; 18 if (a < 0) 19 c = 0; 20 *b = fn1 (*d || c, *d); 21 } 22 23 int main()24main () 25 { 26 fn2 (); 27 return 0; 28 } 29