summaryrefslogtreecommitdiff
path: root/gcc/dwarfout.c
diff options
context:
space:
mode:
authoramylaar <amylaar@138bc75d-0d04-0410-961f-82ee72b054a4>1999-11-29 18:11:35 +0000
committeramylaar <amylaar@138bc75d-0d04-0410-961f-82ee72b054a4>1999-11-29 18:11:35 +0000
commit1373dc94fbacca7767e4794f7d1bf7ca36178f6b (patch)
treeeda08ea25cd7c8200a55835fd185e2d8e8c50de0 /gcc/dwarfout.c
parent952bd79bfd0bb57dc42d7f7805cacbf445c61382 (diff)
downloadgcc-1373dc94fbacca7767e4794f7d1bf7ca36178f6b.tar.gz
Fix for gcc.c-torture/noncompile/920824-1.c on SH (and mips?)
* dwarfout.c (field_byte_offset): Size can be zero if there was an error. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@30708 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/dwarfout.c')
-rw-r--r--gcc/dwarfout.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/gcc/dwarfout.c b/gcc/dwarfout.c
index d8ddfb09939..1df09c60ee1 100644
--- a/gcc/dwarfout.c
+++ b/gcc/dwarfout.c
@@ -2024,6 +2024,15 @@ field_byte_offset (decl)
bitpos_tree = DECL_FIELD_BITPOS (decl);
field_size_tree = DECL_SIZE (decl);
+ /* If there was an error, the size could be zero. */
+ if (! field_size_tree)
+ {
+ if (errorcount)
+ return 0;
+ abort ();
+ }
+
+
/* We cannot yet cope with fields whose positions or sizes are variable,
so for now, when we see such things, we simply return 0. Someday,
we may be able to handle such cases, but it will be damn difficult. */