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