/* Test for ICE in predictive commoning with empty loop header block
   on arm-none-linux-*.  */

struct Foo
{
  double *ptr;
  
  Foo (double *ptr_)
    : ptr (ptr_)
  {
  }
  
  Foo PostInc ()
  {
    return Foo (ptr++);
  }
};

bool Baz (Foo first, double *last)
{
  Foo prev (first.ptr);
  
  first.ptr++;

  while (first.ptr != last)
    if (*first.PostInc ().ptr < *prev.PostInc ().ptr)
      return false;
}

