From 975421be9e4f094f3958c264cc7f793221d90d39 Mon Sep 17 00:00:00 2001 From: Andrew Pinski Date: Sat, 10 Jan 2004 05:32:45 +0000 Subject: [PATCH] re PR debug/11231 (undefined array size inside struct cause segfault with -g) 2004-01-09 Andrew Pinski PR debug/11231 * dbxout.c (dbxout_type_fields): Return if any item is error_mark_node or the type is error_mark_node. From-SVN: r75628 --- gcc/ChangeLog | 6 ++++++ gcc/dbxout.c | 5 +++++ 2 files changed, 11 insertions(+) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 5cd7a3db47d..0ae5c9dc6f8 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2004-01-09 Andrew Pinski + + PR debug/11231 + * dbxout.c (dbxout_type_fields): Return if any item is error_mark_node or the + type is error_mark_node. + 2004-01-09 Geoffrey Keating * config/rs6000/rs6000.md (fix_trunctfdi2): Delete. diff --git a/gcc/dbxout.c b/gcc/dbxout.c index dee3839974a..e0044902357 100644 --- a/gcc/dbxout.c +++ b/gcc/dbxout.c @@ -864,6 +864,11 @@ dbxout_type_fields (tree type) field that we can support. */ for (tem = TYPE_FIELDS (type); tem; tem = TREE_CHAIN (tem)) { + + /* If on of the nodes is an error_mark or its type is then return early. */ + if (tem == error_mark_node || TREE_TYPE (tem) == error_mark_node) + return; + /* Omit here local type decls until we know how to support them. */ if (TREE_CODE (tem) == TYPE_DECL /* Omit fields whose position or size are variable or too large to -- 2.30.2