summaryrefslogtreecommitdiffstats
path: root/gcc/dwarf2out.c
diff options
context:
space:
mode:
authorjason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>2001-01-23 17:22:08 +0000
committerjason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>2001-01-23 17:22:08 +0000
commitfbb17d6ce43d46108605a751c7883a572f5dae2d (patch)
treecc26dde955ca4e51bddc4aa8fc4968f01c9192b2 /gcc/dwarf2out.c
parent93a3ddb71be8c509b8ef4dd5bc4c8e66d75a5798 (diff)
downloadppe42-gcc-fbb17d6ce43d46108605a751c7883a572f5dae2d.tar.gz
ppe42-gcc-fbb17d6ce43d46108605a751c7883a572f5dae2d.zip
* dwarf2out.c (new_die): Use xcalloc.
(output_die): Abort rather than emit a local reference to offset 0. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@39201 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/dwarf2out.c')
-rw-r--r--gcc/dwarf2out.c11
1 files changed, 3 insertions, 8 deletions
diff --git a/gcc/dwarf2out.c b/gcc/dwarf2out.c
index d311dbbbd2f..a3c0e1fae7f 100644
--- a/gcc/dwarf2out.c
+++ b/gcc/dwarf2out.c
@@ -4817,16 +4817,9 @@ new_die (tag_value, parent_die)
register enum dwarf_tag tag_value;
register dw_die_ref parent_die;
{
- register dw_die_ref die = (dw_die_ref) xmalloc (sizeof (die_node));
+ register dw_die_ref die = (dw_die_ref) xcalloc (1, sizeof (die_node));
die->die_tag = tag_value;
- die->die_abbrev = 0;
- die->die_offset = 0;
- die->die_child = NULL;
- die->die_parent = NULL;
- die->die_sib = NULL;
- die->die_attr = NULL;
- die->die_symbol = NULL;
if (parent_die != NULL)
add_child_die (parent_die, die);
@@ -6060,6 +6053,8 @@ output_die (die)
case dw_val_class_die_ref:
if (AT_ref_external (a))
output_symbolic_ref (AT_ref (a));
+ else if (AT_ref (a)->die_offset == 0)
+ abort ();
else
ASM_OUTPUT_DWARF_DATA (asm_out_file, AT_ref (a)->die_offset);
break;
OpenPOWER on IntegriCloud