From d0f89bfce0ad403ff763b9beb51f5fbb76701639 Mon Sep 17 00:00:00 2001 From: "J\"orn Rennecke" Date: Mon, 29 Nov 1999 18:11:35 +0000 Subject: [PATCH] Fix for gcc.c-torture/noncompile/920824-1.c on SH (and mips?) 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. From-SVN: r30708 --- gcc/ChangeLog | 5 +++++ gcc/dwarfout.c | 9 +++++++++ 2 files changed, 14 insertions(+) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 07811cbb6c9..afd4fc99bee 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +Mon Nov 29 18:09:39 1999 J"orn Rennecke + + * dwarfout.c (field_byte_offset): Size can be zero if there was + an error. + 1999-11-29 Bernd Schmidt * fold-const.c (split_tree): Delete unused vars ORIG_IN and TYPE. 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. */ -- 2.30.2