]> oss.titaniummirror.com Git - msp430-gcc.git/blobdiff - gcc/testsuite/g++.old-deja/g++.mike/pmf2.C
Imported gcc-4.4.3
[msp430-gcc.git] / gcc / testsuite / g++.old-deja / g++.mike / pmf2.C
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/pmf2.C b/gcc/testsuite/g++.old-deja/g++.mike/pmf2.C
deleted file mode 100644 (file)
index e50f472..0000000
+++ /dev/null
@@ -1,54 +0,0 @@
-extern "C" int printf(const char *, ...);
-
-class A_table {
-  int c;
-public:
-  A_table() { c = 3;}
-  virtual void func2(int &item) { printf("func2(%d,) c=%d\n",item,c);}
-};
-
-class B_table : private A_table {
-public:
-  typedef void (B_table::* B_ti_fn) (int &item);
-  B_table() { j = 0x4321;}
-  virtual void call_fn_fn1(int &item, void *pfn1);
-  void func1(int &item) { printf("func1(%d)\n",item);}
-  virtual void func2(int &item) { printf("func2(%d) j=%d\n",item,j);}
-  int j;
-};
-
-class foo : public A_table {
-public:
-  int i;
-  virtual ~foo();
-  virtual void func2(int &item) { printf("func2(%d) i=%d\n",item,i);}
-};
-foo::~foo() { i = 0;}
-
-class bar :public foo,public B_table {
-public:
-  int w;
-  virtual ~bar();
-  virtual void func2(int &item) { printf("func2(%d) w=%d\n",item,w);}
-};
-bar::~bar() { w = 0;}
-
-void B_table::call_fn_fn1(int &item, void *pfn1) {
-  (this->*(*(B_ti_fn*)pfn1))(item);
-}
-
-B_table b;
-bar jar;
-
-int main() {
-  printf("ptr to B_table=%x, ptr to A_table=%x\n",&b,(A_table*)&b);
-  B_table::B_ti_fn z = &B_table::func1;
-  int j = 1;
-  jar.call_fn_fn1(j,(void *)&z);
-  j++;
-  z = &B_table::func2;
-  b.call_fn_fn1(j,(void *)&z);
-  j++;
-  jar.call_fn_fn1(j,(void *)&z);
-  return 0;
-}