aboutsummaryrefslogtreecommitdiff
path: root/gdb/dwarf2read.c
diff options
context:
space:
mode:
authorPierre Muller <muller@sourceware.org>2010-05-21 20:45:19 +0000
committerPierre Muller <muller@sourceware.org>2010-05-21 20:45:19 +0000
commitf346a30d48d166e2471126b8121a819ef39e3312 (patch)
treeb3602fc4a1e802a75c69d8b2ad3c564044d464a8 /gdb/dwarf2read.c
parentafd74c5ff76010405caddd2834be4a0178fa93dd (diff)
downloadgdb-f346a30d48d166e2471126b8121a819ef39e3312.zip
gdb-f346a30d48d166e2471126b8121a819ef39e3312.tar.gz
gdb-f346a30d48d166e2471126b8121a819ef39e3312.tar.bz2
* dwarf2read.c (new_symbol): Handle DW_AT_variable_parameter
attribute.
Diffstat (limited to 'gdb/dwarf2read.c')
-rw-r--r--gdb/dwarf2read.c9
1 files changed, 9 insertions, 0 deletions
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: