1 /* PR ipa/63470.C */ 2 /* { dg-do compile } */ 3 /* { dg-options "-O2 -finline-functions" } */ 4 5 class A 6 { 7 public: 8 virtual bool m_fn1 (); 9 virtual const char **m_fn2 (int); 10 virtual int m_fn3 (); 11 }; 12 class FTjackSupport : A 13 { 14 ~FTjackSupport (); 15 bool m_fn1 (); 16 bool m_fn4 (); 17 const char ** m_fn2(int)18 m_fn2 (int) 19 { 20 } 21 int _inited; 22 int *_jackClient; 23 int _activePathCount; 24 } 25 26 * a; 27 void fn1 (...); 28 void fn2 (void *); 29 int fn3 (int *); ~FTjackSupport()30FTjackSupport::~FTjackSupport () { m_fn4 (); } 31 32 bool m_fn1()33FTjackSupport::m_fn1 () 34 { 35 if (!_jackClient) 36 return 0; 37 for (int i=0; _activePathCount; ++i) 38 if (m_fn2 (i)) 39 fn2 (a); 40 if (m_fn3 ()) 41 fn2 (a); 42 if (fn3 (_jackClient)) 43 fn1 (0); 44 } 45 46 bool m_fn4()47FTjackSupport::m_fn4 () 48 { 49 if (_inited && _jackClient) 50 { 51 m_fn1 (); 52 return 0; 53 } 54 } 55