diff options
Diffstat (limited to 'gcc/testsuite/g++.old-deja/g++.jason/thunk1.C')
-rw-r--r-- | gcc/testsuite/g++.old-deja/g++.jason/thunk1.C | 47 |
1 files changed, 0 insertions, 47 deletions
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/thunk1.C b/gcc/testsuite/g++.old-deja/g++.jason/thunk1.C deleted file mode 100644 index 22c0516f1b3..00000000000 --- a/gcc/testsuite/g++.old-deja/g++.jason/thunk1.C +++ /dev/null @@ -1,47 +0,0 @@ -// Test that non-variadic function calls using thunks work right. -// Special g++ Options: -fvtable-thunks - -struct A { - void* p; - A (void* q): p (q) { } - A (const A& a): p (a.p) { } -}; - -class CBase { -public: - void BaseFunc(); -}; - -class MMixin { -public: - virtual A MixinFunc(int arg, A arg2) = 0; -}; - -class CExample : public CBase, public MMixin { -public: - A MixinFunc(int arg, A arg2); -}; - -void CBase::BaseFunc() -{ -} - -A CExample::MixinFunc(int arg, A arg2) -{ - if (arg != 1 || arg2.p != 0) - return 0; - return this; -} - -void* test(MMixin& anExample) -{ - return anExample.MixinFunc(1,A(0)).p; -} - -main () -{ - CExample c; - - if (test(c) != &c) - return 1; -} |