From 29495994694b728b6461b9d6ece5e129d6ca6b7f Mon Sep 17 00:00:00 2001 From: Richard Kenner Date: Thu, 22 May 2003 19:39:13 +0000 Subject: [PATCH] * c-decl.c (duplicate_decls): Test DECL for ERROR_MARK. From-SVN: r67096 --- gcc/ChangeLog | 4 ++++ gcc/c-decl.c | 5 ++++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 5dc52cbc68a..db4804b3196 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,7 @@ +2003-05-22 Richard Kenner + + * c-decl.c (duplicate_decls): Test DECL for ERROR_MARK. + 2003-05-22 Kaveh R. Ghazi * m68hc11.c: Don't use the `0' flag for asm_fprintf specifiers. diff --git a/gcc/c-decl.c b/gcc/c-decl.c index f6e6f5b52a7..6eb0f55fd25 100644 --- a/gcc/c-decl.c +++ b/gcc/c-decl.c @@ -1543,6 +1543,7 @@ duplicate_decls (newdecl, olddecl, different_binding_level) /* Return any external DECL associated with ID, whether or not it is currently in scope. */ + static tree any_external_decl (id) tree id; @@ -1550,7 +1551,9 @@ any_external_decl (id) tree decl = IDENTIFIER_SYMBOL_VALUE (id); tree t; - if (decl && TREE_CODE (decl) != TYPE_DECL && DECL_EXTERNAL (decl)) + if (decl == 0 || TREE_CODE (decl) == ERROR_MARK) + return 0; + else if (TREE_CODE (decl) != TYPE_DECL && DECL_EXTERNAL (decl)) return decl; t = purpose_member (id, truly_local_externals); -- 2.30.2