1 // { dg-do run }
2 
3 extern "C" void abort (void);
4 struct MyException {};
5 struct Data {
6     int nr;
DataData7     Data() : nr(66) {}
8 };
getData(int i)9 Data __attribute__((noinline,noclone)) getData(int i)
10 {
11   if (i) throw MyException();
12   Data data;
13   data.nr = i;
14   return data;
15 }
main(int,char **)16 int 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