diff options
author | jason <jason@138bc75d-0d04-0410-961f-82ee72b054a4> | 2001-01-23 17:22:08 +0000 |
---|---|---|
committer | jason <jason@138bc75d-0d04-0410-961f-82ee72b054a4> | 2001-01-23 17:22:08 +0000 |
commit | fbb17d6ce43d46108605a751c7883a572f5dae2d (patch) | |
tree | cc26dde955ca4e51bddc4aa8fc4968f01c9192b2 /gcc/dwarf2out.c | |
parent | 93a3ddb71be8c509b8ef4dd5bc4c8e66d75a5798 (diff) | |
download | gcc-fbb17d6ce43d46108605a751c7883a572f5dae2d.tar.gz |
* 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.c | 11 |
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; |