blob: ea5ca14e23a8ddffafdce697c5349efe9033e304 [file] [log] [blame]
/* { dg-do compile } */
/* { dg-additional-options "-Wno-return-type" } */
typedef enum
{
NS_OK
} nsresult;
struct A
{
static int kIID;
};
class B
{
};
class C
{
public:
C (B p1) { m_fn1 (p1, A::kIID); }
void m_fn1 (B, int);
};
class D;
class F
{
public:
F (int);
};
class G
{
public:
D *operator[](int);
};
class H
{
virtual nsresult m_fn2 ();
public:
void m_fn3 ();
};
class J : H
{
G mQueries;
int mLiveUpdate;
nsresult m_fn2 ();
};
class D
{
public:
nsresult m_fn4 (int);
void m_fn5 (int);
};
class I
{
public:
static I *
m_fn6 ()
{
B __trans_tmp_3;
if (!gHistoryService)
C serv = __trans_tmp_3;
}
void m_fn7 ();
static I *gHistoryService;
};
D *Refresh___trans_tmp_2;
D Refresh___trans_tmp_6, Refresh___trans_tmp_5;
int Refresh_hasDomain;
nsresult
J::m_fn2 ()
{
m_fn3 ();
I history = *I::m_fn6 ();
switch (mLiveUpdate)
{
case 1:
{
mQueries[0];
F query = 0;
if (Refresh_hasDomain)
return NS_OK;
}
case 0:
{
Refresh___trans_tmp_2 = mQueries[0];
F query = Refresh___trans_tmp_5.m_fn4 (0);
history.m_fn7 ();
Refresh___trans_tmp_6.m_fn5 (0);
}
case 3:
m_fn2 ();
}
}