diff options
author | rth <rth@138bc75d-0d04-0410-961f-82ee72b054a4> | 1999-03-28 09:26:28 +0000 |
---|---|---|
committer | rth <rth@138bc75d-0d04-0410-961f-82ee72b054a4> | 1999-03-28 09:26:28 +0000 |
commit | 9fd68c082693e2db323eee226f8f041a1a596cc9 (patch) | |
tree | 60bd2c4c9dd96be75e26bf7a55c401eb632b6850 /gcc/testsuite/g++.old-deja/g++.mike/p4736b.C | |
parent | 9f9d16c921fcede880ddba43b970b29f0f888d8f (diff) |
Merge from mainlinebefore_gc_merge_990902egcs_gc_branch
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/egcs_gc_branch@26036 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/testsuite/g++.old-deja/g++.mike/p4736b.C')
-rw-r--r-- | gcc/testsuite/g++.old-deja/g++.mike/p4736b.C | 49 |
1 files changed, 1 insertions, 48 deletions
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/p4736b.C b/gcc/testsuite/g++.old-deja/g++.mike/p4736b.C index 19d655c6f09..b3b753c1a91 100644 --- a/gcc/testsuite/g++.old-deja/g++.mike/p4736b.C +++ b/gcc/testsuite/g++.old-deja/g++.mike/p4736b.C @@ -1,48 +1 @@ -// prms-id: 4736 - -class Rep { -public: - virtual int foo() { return 1; } -}; - -class Rep_1 : public Rep { -}; - -class VBaseMain { -public: - virtual int foo() { return 2; } -}; - -class OtherVBase { -public: - virtual int foo() { return 3; } -}; - -class Rep_2 : public Rep { -}; - -class DVBase : public VBaseMain, public Rep_2, public OtherVBase { -public: - virtual int foo() { return 4; } -}; - -class Main : public Rep_1, virtual public DVBase { -public: - virtual int foo() { return 5; } -}; - -main() { - Main m; - if (m.foo() != 5) - return 1; - if (((Rep*)(Rep_1*)&m)->foo() != 5) - return 2; - if (((DVBase*)&m)->foo() != 5) - return 3; - if (((VBaseMain*)(DVBase*)&m)->foo() != 5) - return 4; - if (((Rep*)(Rep_2*)(DVBase*)&m)->foo() != 5) - return 5; - if (((OtherVBase*)(DVBase*)&m)->foo() != 5) - return 6; -} +int main() { |