From 77874a3c450f5572fc34c9af625d34a26c96bfdf Mon Sep 17 00:00:00 2001 From: reichelt Date: Wed, 19 Jul 2006 19:56:29 +0000 Subject: PR obj-c++/28434 * objc-act.c (lookup_and_install_protocols): Skip error_mark_nodes. * obj-c++.dg/proto-error-1.mm: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@115599 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/objc/ChangeLog | 5 +++++ gcc/objc/objc-act.c | 8 ++++---- 2 files changed, 9 insertions(+), 4 deletions(-) (limited to 'gcc/objc') diff --git a/gcc/objc/ChangeLog b/gcc/objc/ChangeLog index ee36565ea40..63c32e3d6e9 100644 --- a/gcc/objc/ChangeLog +++ b/gcc/objc/ChangeLog @@ -1,3 +1,8 @@ +2006-07-19 Volker Reichelt + + PR obj-c++/28434 + * objc-act.c (lookup_and_install_protocols): Skip error_mark_nodes. + 2006-06-06 Mike Stump * objc-act.c: Remove prototype for objc_build_volatilized_type. diff --git a/gcc/objc/objc-act.c b/gcc/objc/objc-act.c index 39d12fc00c6..88b9386a386 100644 --- a/gcc/objc/objc-act.c +++ b/gcc/objc/objc-act.c @@ -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; -- cgit v1.2.1