Remove old autovect-branch by moving to "dead" directory.
[official-gcc.git] / old-autovect-branch / gcc / testsuite / g++.old-deja / g++.mike / p3060d.C
blob11ac0daa6bc13daacf748654cc7aaf32658e52a9
1 // { dg-do run  }
2 // This is a test case to make sure the explicit cast on a pointer to
3 // a member function works ok.
4 // prms-id: 3060
6 extern "C" int printf(const char *, ...);
8 class Object;
10 typedef void (Object::*VoidObjMemberFunc)(Object *tracker, void *ap);
12 class Object {
13 public:
14   int         foo;
17 class Clipper: public Object {
18 public:
19   int         bar;
20   void        Feedback(Object*, void*);
22 void Clipper::Feedback(Object *tracker, void *ap) {
23   printf("Doing feedback\n");
26 void vfunc(VoidObjMemberFunc of, Object *op, void *v1) {
27   (op->*of)(op, v1);
30 int main() {
31   Object      o;
33   vfunc((VoidObjMemberFunc)&Clipper::Feedback, &o, 0);
34   return 0;