Commit 4c4e648c by Mark Mitchell Committed by Mark Mitchell

re PR c++/27665 (ICE writing class instead of typename)

	PR c++/27665
	* parser.c (cp_parser_unqualified_id): Use constructor_name_p to
	identify destructors.
	(cp_parser_nested_name_specifier_opt): Remove invalid
	optimization.
	(cp_parser_template_id): Refine heuristic for determining whether
	we are entering a scope.
	PR c++/27665
	* g++.dg/template/crash52.C: New test.

From-SVN: r114669
parent 0c926bff
2006-06-14 Mark Mitchell <mark@codesourcery.com>
PR c++/27665
* parser.c (cp_parser_unqualified_id): Use constructor_name_p to
identify destructors.
(cp_parser_nested_name_specifier_opt): Remove invalid
optimization.
(cp_parser_template_id): Refine heuristic for determining whether
we are entering a scope.
PR c++/27648
* parser.c (cp_parser_declarator): Robustify.
......
2006-06-14 Mark Mitchell <mark@codesourcery.com>
PR c++/27665
* g++.dg/template/crash52.C: New test.
PR c++/27648
* g++.dg/ext/attrib22.C: New test.
// PR c++/27665
template<int> struct A
{
struct B
{
struct C {};
};
};
template<int N> void foo()
{
class A<N>::B::C X;
}
void bar()
{
foo<0>();
}
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