diff options
Diffstat (limited to 'gcc/testsuite/g++.old-deja/g++.mike/p7626.C')
-rw-r--r-- | gcc/testsuite/g++.old-deja/g++.mike/p7626.C | 44 |
1 files changed, 1 insertions, 43 deletions
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/p7626.C b/gcc/testsuite/g++.old-deja/g++.mike/p7626.C index 61636d61fdb..b3b753c1a91 100644 --- a/gcc/testsuite/g++.old-deja/g++.mike/p7626.C +++ b/gcc/testsuite/g++.old-deja/g++.mike/p7626.C @@ -1,43 +1 @@ -// Build don't link: -// prms-id: 7626 - -int fail; - -typedef unsigned int UINT; - -class CObject{}; - -class CCmdTarget : public CObject { -}; - -typedef void (CCmdTarget::*AFX_PMSG)(void); - -struct AFX_MSGMAP_ENTRY { - AFX_PMSG pfn; -}; - -class CWnd : public CCmdTarget { -public: - void OnMyMsg() { fail = 1; } // If this one is called, something is wrong. - static AFX_MSGMAP_ENTRY _messageEntries[]; -}; - -typedef void (CWnd::*AFX_PMSGW)(void); - -class CDialog : public CWnd -{ -public: - void OnMyMsg() { } - static AFX_MSGMAP_ENTRY _messageEntries[]; -}; - -AFX_MSGMAP_ENTRY CDialog ::_messageEntries[] = { - { (AFX_PMSG)(AFX_PMSGW)(void (CWnd::*)())&CDialog::OnMyMsg }, - { (AFX_PMSG)0 } -}; - -main() { - CDialog d; - (d.*((CDialog::_messageEntries)[0]).pfn)(); // This should call CDialog::OnMyMsg - return fail; -} +int main() { |