aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gdb/ChangeLog5
-rw-r--r--gdb/dwarf2read.c6
2 files changed, 6 insertions, 5 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 6c811ea..56f3c17 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,5 +1,10 @@
2014-04-28 Joel Brobecker <brobecker@adacore.com>
+ * dwarf2read.c (read_subrange_type): Handle dynamic
+ DW_AT_lower_bound attributes.
+
+2014-04-28 Joel Brobecker <brobecker@adacore.com>
+
* ada-lang.c (ada_discrete_type_high_bound): Resolve the type's
dynamic bounds before computing its upper bound.
(ada_discrete_type_low_bound): Same as above with the lower bound.
diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c
index e72cc4b..bf1e3d0 100644
--- a/gdb/dwarf2read.c
+++ b/gdb/dwarf2read.c
@@ -14572,13 +14572,9 @@ read_subrange_type (struct die_info *die, struct dwarf2_cu *cu)
break;
}
- /* FIXME: For variable sized arrays either of these could be
- a variable rather than a constant value. We'll allow it,
- but we don't know how to handle it. */
attr = dwarf2_attr (die, DW_AT_lower_bound, cu);
if (attr)
- low.data.const_val
- = dwarf2_get_attr_constant_value (attr, low.data.const_val);
+ attr_to_dynamic_prop (attr, die, cu, &low);
else if (!low_default_is_valid)
complaint (&symfile_complaints, _("Missing DW_AT_lower_bound "
"- DIE at 0x%x [in module %s]"),