From f346a30d48d166e2471126b8121a819ef39e3312 Mon Sep 17 00:00:00 2001 From: Pierre Muller Date: Fri, 21 May 2010 20:45:19 +0000 Subject: [PATCH] * dwarf2read.c (new_symbol): Handle DW_AT_variable_parameter attribute. --- gdb/ChangeLog | 5 +++++ gdb/dwarf2read.c | 9 +++++++++ 2 files changed, 14 insertions(+) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index b701354128..067ea48cd4 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,8 @@ +2010-05-21 Pierre Muller + + * dwarf2read.c (new_symbol): Handle DW_AT_variable_parameter + attribute. + 2010-05-21 Tom Tromey * dwarf2loc.c (read_pieced_value): Work properly when 'v' has an diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c index f4ef780642..129d6c1d78 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: