aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/dwarf2out.c8
2 files changed, 13 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 4880f03..67a0376 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+1999-12-06 Brendan Kehoe <brendan@cygnus.com>
+
+ * dwarf2out.c (field_byte_offset): As with dwarfout.c, size can be
+ zero if there was an error.
+
1999-12-06 Jakub Jelinek <jakub@redhat.com>
* config/sparc/sparc.md (return_losum_di): Fix typo in asm
diff --git a/gcc/dwarf2out.c b/gcc/dwarf2out.c
index 0a88469..4f8227c 100644
--- a/gcc/dwarf2out.c
+++ b/gcc/dwarf2out.c
@@ -6695,6 +6695,14 @@ 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 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. */