1// { dg-do assemble } 2// PRMS Id: 4375 3// Bug: g++ fails to keep track of nested typedefs properly. 4 5class A { 6public: 7 typedef char * Ptr; 8 Ptr s; 9 Ptr get_string(); 10 A(Ptr string); // { s = string; }; 11}; 12 13class B { 14public: 15 typedef A * Ptr; 16 Ptr a; 17 Ptr get_A(); 18 B(Ptr a_ptr); 19}; 20 21A::A(Ptr string) { // { dg-bogus "" } 22 s = string; // { dg-bogus "" } 23} 24 25int main() { 26 A a("testing"); 27 A *a_ptr; 28 B b(&a); 29 a_ptr = b.get_A(); 30} 31