1// { dg-do run }
2
3extern "C" void abort (void);
4struct MyException {};
5struct Data {
6    int nr;
7    Data() : nr(66) {}
8};
9Data __attribute__((noinline,noclone)) getData(int i)
10{
11  if (i) throw MyException();
12  Data data;
13  data.nr = i;
14  return data;
15}
16int main(int, char **)
17{
18  Data data;
19  try {
20      data = getData(1);
21  } catch (MyException& e) {
22      if (data.nr != 66)
23	abort ();
24  }
25}
26