Remove old autovect-branch by moving to "dead" directory.
[official-gcc.git] / old-autovect-branch / gcc / testsuite / g++.old-deja / g++.other / dyncast4.C
bloba49ef4b672641e95ed3d92d6574495a7f8a2284a
1 // { dg-do run  }
2 // Author: Alfred Miniarik <a8601248@unet.univie.ac.at>
4 // Even in a derived class, a private base cannot be dynamically downcasted
5 // from.
7 extern "C" void abort();
9 struct A {
10   virtual ~A () {}
13 struct B : private A {
14   B* a2b (A* objp)
15   {
16     return dynamic_cast<B*> (objp);
17   }
20 int
21 main ()
23   B b;
24   A* aptr = (A*) &b;
25   if (dynamic_cast <B*> (aptr)) abort ();
26   if (b.a2b (aptr)) abort();
27   return 0;