aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/g++.old-deja/g++.gb/sig17.C
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/testsuite/g++.old-deja/g++.gb/sig17.C')
-rw-r--r--gcc/testsuite/g++.old-deja/g++.gb/sig17.C54
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;
-}