// { dg-require-effective-target freorder }
// { dg-options "-O2 -freorder-blocks-and-partition -g" }

extern "C" void abort (void);
struct MyException {};
struct Data {
    int nr;
    Data() : nr(66) {}
};
Data __attribute__((noinline,noclone)) getData(int i)
{
  if (i) throw MyException();
  Data data;
  data.nr = i;
  return data;
}
int main(int, char **)
{
  Data data;
  try {
      data = getData(1);
  } catch (MyException& e) {
      if (data.nr != 66)
	abort ();
  }
}
