1// { dg-do run } 2// Author: Alfred Miniarik <a8601248@unet.univie.ac.at> 3 4// Even in a derived class, a private base cannot be dynamically downcasted 5// from. 6 7extern "C" void abort(); 8 9struct A { 10 virtual ~A () {} 11}; 12 13struct B : private A { 14 B* a2b (A* objp) 15 { 16 return dynamic_cast<B*> (objp); 17 } 18}; 19 20int 21main () 22{ 23 B b; 24 A* aptr = (A*) &b; 25 if (dynamic_cast <B*> (aptr)) abort (); 26 if (b.a2b (aptr)) abort(); 27 return 0; 28} 29