blob: f2dc111c6b9c47ad065f6d04a38efb74d0ef469d [file] [log] [blame]
/* PR ipa/63470.C */
/* { dg-do compile } */
/* { dg-options "-O2 -finline-functions -Wno-return-type" } */
class A
{
public:
virtual bool m_fn1 ();
virtual const char **m_fn2 (int);
virtual int m_fn3 ();
};
class FTjackSupport : A
{
~FTjackSupport ();
bool m_fn1 ();
bool m_fn4 ();
const char **
m_fn2 (int)
{
return 0;
}
int _inited;
int *_jackClient;
int _activePathCount;
}
* a;
void fn1 (...);
void fn2 (void *);
int fn3 (int *);
FTjackSupport::~FTjackSupport () { m_fn4 (); }
bool
FTjackSupport::m_fn1 ()
{
if (!_jackClient)
return 0;
for (int i=0; _activePathCount; ++i)
if (m_fn2 (i))
fn2 (a);
if (m_fn3 ())
fn2 (a);
if (fn3 (_jackClient))
fn1 (0);
}
bool
FTjackSupport::m_fn4 ()
{
if (_inited && _jackClient)
{
m_fn1 ();
return 0;
}
}