| /* { 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 (); |
| } |
| } |