1// { dg-do assemble } 2// { dg-options "-O" } 3 4// Posted by H. J. Lu <hjl@lucon.org> 5 6template<class T> 7class FixSeq 8{ 9public: 10 void append(const T&); 11}; 12class foo 13{ 14public: 15 void setupIR(); 16}; 17typedef FixSeq<foo *> bar; 18extern void dummy (foo *); 19void * 20foobar (bar &x, foo *p) 21{ 22 try 23 { 24 p -> setupIR(); 25 } 26 catch(...) 27 { 28 dummy (p); 29 } 30 x.append(p); 31 return p; 32} 33