diff options
Diffstat (limited to 'gcc/testsuite/g++.old-deja/g++.other/lookup16.C')
-rw-r--r-- | gcc/testsuite/g++.old-deja/g++.other/lookup16.C | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/gcc/testsuite/g++.old-deja/g++.other/lookup16.C b/gcc/testsuite/g++.old-deja/g++.other/lookup16.C new file mode 100644 index 000000000..52944530d --- /dev/null +++ b/gcc/testsuite/g++.old-deja/g++.other/lookup16.C @@ -0,0 +1,31 @@ +// { dg-do assemble } +// Copyright (C) 1999 Free Software Foundation, Inc. +// Contributed by Nathan Sidwell 25 Aug 1999 <nathan@acm.org> + +// Bug 3 +// typenames are not injected early enough, [basic.scope.pdecl]3.3.1/4 +// indicates this should compile. + +struct A { +}; + +struct B : A { + typedef A Parent; + struct F { + }; +}; + +struct C : B { + typedef B Parent; + struct G {}; + struct F : C::Parent::F { + typedef C::Parent::F Parent; + }; +}; + +struct D : B { + typedef B Parent; + struct F : D::Parent::F { // finds the wrong Parent + typedef D::Parent::F Parent; + }; +}; |