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)7 fn1 (unsigned short p1, unsigned int p2)
8 {
9   return p2 > 1 || p1 >> p2 ? p1 : p1 << p2;
10 }
11 
12 void
fn2()13 fn2 ()
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()24 main ()
25 {
26   fn2 ();
27   return 0;
28 }
29