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)9Data __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 **)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