view gcc/testsuite/g++.old-deja/g++.other/loop1.C @ 111:04ced10e8804

gcc 7
author kono
date Fri, 27 Oct 2017 22:46:09 +0900
parents
children 84e7813d76e9
line wrap: on
line source

// { dg-do run  }
// { dg-options "-O2" }
// Test for bad loop optimization of goto fixups.

typedef bool (*ftype) ();

int c, d;
struct A {
  A() { ++c; }
  A(const A&) { ++c; }
  ~A() { ++d; }
};

void f (ftype func)
{
  A a;
  do {
    if ((*func)()) return;
  } while (true);
}

bool test ()
{
  return true;
}

main ()
{
  f (test);
  return (c != d);
}