re PR objc++/28434 (ICE with invalid protocol)

PR obj-c++/28434
	* objc-act.c (lookup_and_install_protocols): Skip error_mark_nodes.

	* obj-c++.dg/proto-error-1.mm: New test.

From-SVN: r115599
This commit is contained in:
Volker Reichelt 2006-07-19 19:56:29 +00:00 committed by Volker Reichelt
parent 0d24c3fa6f
commit 7eb314dc4b
4 changed files with 18 additions and 4 deletions

View File

@ -1,3 +1,8 @@
2006-07-19 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
PR obj-c++/28434
* objc-act.c (lookup_and_install_protocols): Skip error_mark_nodes.
2006-06-06 Mike Stump <mrs@apple.com>
* objc-act.c: Remove prototype for objc_build_volatilized_type.

View File

@ -1433,12 +1433,12 @@ lookup_and_install_protocols (tree protocols)
tree ident = TREE_VALUE (proto);
tree p = lookup_protocol (ident);
if (!p)
error ("cannot find protocol declaration for %qs",
IDENTIFIER_POINTER (ident));
else
if (p)
return_value = chainon (return_value,
build_tree_list (NULL_TREE, p));
else if (ident != error_mark_node)
error ("cannot find protocol declaration for %qs",
IDENTIFIER_POINTER (ident));
}
return return_value;

View File

@ -1,3 +1,8 @@
2006-07-19 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
PR obj-c++/28434
* obj-c++.dg/proto-error-1.mm: New test.
2006-07-18 Mark Mitchell <mark@codesourcery.com>
PR c++/28337

View File

@ -0,0 +1,4 @@
// PR obj-c++/28434
// { dg-do compile }
Class<> c; // { dg-error "identifier" }