1  /* PR target/94567 */
       2  
       3  volatile int a = 1, b;
       4  short c, d = 4, f = 2, g;
       5  unsigned short e = 53736;
       6  
       7  int
       8  foo (int i, int j)
       9  {
      10    return i && j ? 0 : i + j;
      11  }
      12  
      13  int
      14  main ()
      15  {
      16    for (; a; a = 0)
      17      {
      18        unsigned short k = e;
      19        g = k >> 3;
      20        if (foo (g < (f || c), b))
      21  	d = 0;
      22      }
      23    if (d != 4)
      24      __builtin_abort ();
      25    return 0;
      26  }