view gcc/testsuite/g++.dg/torture/predcom-1.C @ 131:84e7813d76e9

gcc-8.2
author mir3636
date Thu, 25 Oct 2018 07:37:49 +0900
parents 04ced10e8804
children
line wrap: on
line source

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