diff options
-rw-r--r-- | gdb/ChangeLog | 5 | ||||
-rw-r--r-- | gdb/dwarf2read.c | 9 |
2 files changed, 14 insertions, 0 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index b701354..067ea48 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,8 @@ +2010-05-21 Pierre Muller <muller@ics.u-strasbg.fr> + + * dwarf2read.c (new_symbol): Handle DW_AT_variable_parameter + attribute. + 2010-05-21 Tom Tromey <tromey@redhat.com> * dwarf2loc.c (read_pieced_value): Work properly when 'v' has an diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c index f4ef780..129d6c1 100644 --- a/gdb/dwarf2read.c +++ b/gdb/dwarf2read.c @@ -8664,6 +8664,15 @@ new_symbol (struct die_info *die, struct type *type, struct dwarf2_cu *cu) { dwarf2_const_value (attr, sym, cu); } + attr = dwarf2_attr (die, DW_AT_variable_parameter, cu); + if (attr && DW_UNSND (attr)) + { + struct type *ref_type; + + ref_type = lookup_reference_type (SYMBOL_TYPE (sym)); + SYMBOL_TYPE (sym) = ref_type; + } + add_symbol_to_list (sym, cu->list_in_scope); break; case DW_TAG_unspecified_parameters: |