(root)/
gcc-13.2.0/
gcc/
testsuite/
g++.dg/
torture/
predcom-1.C
/* Test for ICE in predictive commoning with empty loop header block
   on arm-none-linux-*.  */

#pragma GCC diagnostic ignored "-Wreturn-type"

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;
}