diff options
author | Andrew Pinski <pinskia@physics.uc.edu> | 2004-01-10 05:32:45 +0000 |
---|---|---|
committer | Andrew Pinski <pinskia@gcc.gnu.org> | 2004-01-09 21:32:45 -0800 |
commit | 975421be9e4f094f3958c264cc7f793221d90d39 (patch) | |
tree | 70d98eafb097c3d2a7585e486e79ca3de1b767dc /gcc | |
parent | 7e4bd541a55ca095801384e1b3f387ab3246771a (diff) | |
download | gcc-975421be9e4f094f3958c264cc7f793221d90d39.zip gcc-975421be9e4f094f3958c264cc7f793221d90d39.tar.gz gcc-975421be9e4f094f3958c264cc7f793221d90d39.tar.bz2 |
re PR debug/11231 (undefined array size inside struct cause segfault with -g)
2004-01-09 Andrew Pinski <pinskia@physics.uc.edu>
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
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/dbxout.c | 5 |
2 files changed, 11 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 5cd7a3d..0ae5c9d 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2004-01-09 Andrew Pinski <pinskia@physics.uc.edu> + + 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 <geoffk@apple.com> * config/rs6000/rs6000.md (fix_trunctfdi2): Delete. diff --git a/gcc/dbxout.c b/gcc/dbxout.c index dee3839..e004490 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 |