blob: e5336f2f120ea1eecb1b72272d84a22010acd786 [file] [log] [blame]
/* PR ipa/61800 */
/* { dg-do compile } */
/* { dg-require-visibility "" } */
/* { dg-options "-O2 -Wno-return-type" } */
#pragma GCC visibility push(hidden)
class A
{
public:
unsigned long m_fn1 () const;
};
class B;
class C
{
public:
;
virtual bool m_fn2 (void) = 0;
};
class D
{
virtual bool m_fn3 (const int &p1, B *p2) = 0;
};
class F : public D
{
bool m_fn3 (const int &p1, B *p2);
A mPredicates;
};
class B
{
};
class G : public B
{
virtual unsigned int m_fn4 () = 0;
};
class H : public G
{
public:
int txNodeSetContext_aContextNodeSet;
H (B *p1) {}
int
m_fn5 ()
{
return mPosition < m_fn4 ();
}
unsigned int m_fn4 ();
unsigned int mPosition;
};
unsigned int a;
C *b;
bool
F::m_fn3 (const int &p1, B *p2)
{
if (!b->m_fn2 ())
return false;
unsigned int c = mPredicates.m_fn1 ();
for (1; 1 < c; ++a)
{
H d (p2);
while (d.m_fn5 ())
{
do
{
}
while (0);
}
}
}