gdb/gdb-template-arguments-2of3...

47 lines
1.6 KiB
Diff

http://sourceware.org/ml/gdb-cvs/2010-09/msg00063.html
### src/gdb/ChangeLog 2010/09/08 19:49:28 1.12163
### src/gdb/ChangeLog 2010/09/08 23:14:52 1.12164
## -1,3 +1,8 @@
+2010-09-08 Daniel Jacobowitz <dan@codesourcery.com>
+
+ * dwarf2read.c (read_func_scope, read_structure_type)
+ (read_common_block): Check for a NULL return from new_symbol.
+
2010-09-08 Jan Kratochvil <jan.kratochvil@redhat.com>
* dwarf2read.c (dwarf2_read_index): Return on no SEC_HAS_CONTENTS.
Index: gdb-7.2/gdb/dwarf2read.c
===================================================================
--- gdb-7.2.orig/gdb/dwarf2read.c 2011-01-01 17:47:52.000000000 +0100
+++ gdb-7.2/gdb/dwarf2read.c 2011-01-01 17:48:35.000000000 +0100
@@ -5243,7 +5243,8 @@ read_func_scope (struct die_info *die, s
{
struct symbol *arg = new_symbol (child_die, NULL, cu);
- VEC_safe_push (symbolp, template_args, arg);
+ if (arg != NULL)
+ VEC_safe_push (symbolp, template_args, arg);
}
else
process_die (child_die, cu);
@@ -6558,7 +6559,8 @@ read_structure_type (struct die_info *di
{
struct symbol *arg = new_symbol (child_die, NULL, cu);
- VEC_safe_push (symbolp, template_args, arg);
+ if (arg != NULL)
+ VEC_safe_push (symbolp, template_args, arg);
}
child_die = sibling_die (child_die);
@@ -7104,7 +7106,7 @@ read_common_block (struct die_info *die,
/* Undocumented in DWARF3, when it can be present? */
attr = dwarf2_attr (child_die, DW_AT_data_member_location, cu);
- if (attr)
+ if (sym != NULL && attr != NULL)
{
CORE_ADDR byte_offset = 0;