Merge reload-branch up to revision 101000
[official-gcc.git] / gcc / testsuite / g++.old-deja / g++.other / lookup16.C
blob52944530dbd01c45cfd48e0281634cd9625c79a8
1 // { dg-do assemble  }
2 // Copyright (C) 1999 Free Software Foundation, Inc.
3 // Contributed by Nathan Sidwell 25 Aug 1999 <nathan@acm.org>
5 // Bug 3
6 // typenames are not injected early enough, [basic.scope.pdecl]3.3.1/4
7 // indicates this should compile.
9 struct A {
12 struct B : A {
13   typedef A Parent;
14   struct F {
15   };
18 struct C : B {
19   typedef B Parent;
20   struct G {};
21   struct F : C::Parent::F {
22     typedef C::Parent::F Parent;
23   };
26 struct D : B {
27   typedef B Parent;
28   struct F : D::Parent::F { // finds the wrong Parent
29     typedef D::Parent::F Parent;
30   };