diff options
Diffstat (limited to 'gcc/testsuite/g++.dg/template/scope2.C')
-rw-r--r-- | gcc/testsuite/g++.dg/template/scope2.C | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/gcc/testsuite/g++.dg/template/scope2.C b/gcc/testsuite/g++.dg/template/scope2.C new file mode 100644 index 000000000..79b520cbe --- /dev/null +++ b/gcc/testsuite/g++.dg/template/scope2.C @@ -0,0 +1,34 @@ +// { dg-do compile } + +// Copyright (C) 2003 Free Software Foundation, Inc. +// Contributed by Nathan Sidwell 15 Aug 2003 <nathan@codesourcery.com> + +// checked instantiated bases in wrong scope. + +class Helper {}; + +template<class T> struct X { }; + +template<class T> class Base +{ + protected: + typedef Helper H; +}; + +template<class T > +struct Derived : Base<T> +{ + typedef Base<T> Parent; + typedef typename Parent::H H; + + class Nested : public X<H> {}; + + Nested m; + + void Foo (); +}; + +void Foo (Derived<char> &x) +{ + x.Foo (); +} |