Commit 66d418e6 by Mark Mitchell Committed by Mark Mitchell

re PR c++/10749 (triple nested template classes in namespace need to qualify ns)

	PR c++/10749
	* parser.c (cp_parser_class_head): See through dependent names
	when parsing a class-head.

	PR c++/10749
	* g++.dg/template/memclass2.C: New test.

From-SVN: r68276
parent a3424f5c
2003-06-20 Mark Mitchell <mark@codesourcery.com>
PR c++/10749
* parser.c (cp_parser_class_head): See through dependent names
when parsing a class-head.
PR c++/10845
* pt.c (try_class_unification): Correct handling of member class
templates.
......
......@@ -11634,7 +11634,7 @@ cp_parser_class_head (cp_parser* parser,
nested_name_specifier
= cp_parser_nested_name_specifier_opt (parser,
/*typename_keyword_p=*/false,
/*check_dependency_p=*/true,
/*check_dependency_p=*/false,
/*type_p=*/false);
/* If there was a nested-name-specifier, then there *must* be an
identifier. */
......
2003-06-20 Mark Mitchell <mark@codesourcery.com>
PR c++/10749
* g++.dg/template/memclass2.C: New test.
2003-06-20 Mark Mitchell <mark@codesourcery.com>
Eric Botcazou <ebotcazou@libertysurf.fr>
* lib/gcc-dg.exp (dg-xfail-if): Do not process conditional xfail
......
namespace ns {
template<typename T>
struct Foo {
template<typename U> struct Bar;
};
template<typename T>
template<typename U>
struct Foo<T>::Bar {
template<typename V> struct Baz;
};
template<typename T>
template<typename U>
template<typename V>
struct Foo<T>::Bar<U>::Baz {
Foo<T> chokes;
ns::Foo<T> works;
};
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment