diff options
Diffstat (limited to 'gcc/testsuite/g++.old-deja/g++.gb/sig17.C')
-rw-r--r-- | gcc/testsuite/g++.old-deja/g++.gb/sig17.C | 54 |
1 files changed, 0 insertions, 54 deletions
diff --git a/gcc/testsuite/g++.old-deja/g++.gb/sig17.C b/gcc/testsuite/g++.old-deja/g++.gb/sig17.C deleted file mode 100644 index 6d1d1d94df6..00000000000 --- a/gcc/testsuite/g++.old-deja/g++.gb/sig17.C +++ /dev/null @@ -1,54 +0,0 @@ -// Special g++ Options: -fhandle-signatures -// GROUPS passed gb sigptr cast -// Test casting a class pointer through a chain of signature pointers. - -extern "C" -{ - int printf (char *, ...); -} - -class C -{ -public: - char * f (void) { return "PA"; } - char * g (int) { return "SS"; } -}; - -class D : public C -{ -public: - char * h (void) { return "FAIL"; } -}; - -class E : public C -{ -public: - int foo (int) { return 0; } -}; - -signature S -{ - char * f (void); - char * g (int); -}; - -signature T -{ - char * f (void); -}; - -int main (void) -{ - D a; - S * p; - T * q; - signature { char * g (int); } * r; - - p = &a; - q = (T*) (signature { char * f (void); int foo (int); } *) (E*) (S*) (C*) p; - r = (signature { char * h (void); char * g (int); } *) &a; - - printf ("%s%s\n", q->f (), r->g (0)); - - return 0; -} |