re PR c++/9639 ([New parser] Namespace std in constructor argument lists on illegal code causes an ICE)

PR c++/9639
	* parser.c (cp_parser_declarator_id): Clear parser->scope.

	PR c++/9639
	* g++.dg/parse/crash1.C: New test.

From-SVN: r64495
This commit is contained in:
Mark Mitchell 2003-03-17 17:36:24 +00:00 committed by Mark Mitchell
parent 1f43de927f
commit ec20aa6ccf
4 changed files with 15 additions and 1 deletions

View File

@ -1,3 +1,8 @@
2003-03-17 Mark Mitchell <mark@codesourcery.com>
PR c++/9639
* parser.c (cp_parser_declarator_id): Clear parser->scope.
2003-03-16 Jason Merrill <jason@redhat.com>
PR c++/9993

View File

@ -10424,7 +10424,10 @@ cp_parser_declarator_id (cp_parser* parser)
/* If the name was qualified, create a SCOPE_REF to represent
that. */
if (parser->scope)
id_expression = build_nt (SCOPE_REF, parser->scope, id_expression);
{
id_expression = build_nt (SCOPE_REF, parser->scope, id_expression);
parser->scope = NULL_TREE;
}
return id_expression;
}

View File

@ -1,3 +1,8 @@
2003-03-17 Mark Mitchell <mark@codesourcery.com>
PR c++/9639
* g++.dg/parse/crash1.C: New test.
2003-03-16 Mark Mitchell <mark@codesourcery.com>
PR c++/8805

View File

@ -0,0 +1 @@
struct s { s(std::b o) { } }; // { dg-error "" }