1  /* PR tree-optimization/85529 */
       2  
       3  struct S { int a; };
       4  
       5  int b, c = 1, d, e, f;
       6  static int g;
       7  volatile struct S s;
       8  
       9  signed char
      10  foo (signed char i, int j)
      11  {
      12    return i < 0 ? i : i << j;
      13  }
      14  
      15  int
      16  main ()
      17  {
      18    signed char k = -83;
      19    if (!d)
      20      goto L;
      21    k = e || f;
      22  L:
      23    for (; b < 1; b++)
      24      s.a != (k < foo (k, 2) && (c = k = g));
      25    if (c != 1)
      26      __builtin_abort ();
      27    return 0;
      28  }