aboutsummaryrefslogtreecommitdiff
path: root/gdb/ChangeLog
diff options
context:
space:
mode:
authorTom Tromey <tromey@adacore.com>2020-04-24 13:40:31 -0600
committerTom Tromey <tromey@adacore.com>2020-04-24 13:40:32 -0600
commitf8e89861cfb6acbfa097814f5864afd5563a3011 (patch)
tree06d2310f45105e61d5541755b596e29ca5241dba /gdb/ChangeLog
parent9c6a1327ad9a92b8584f0501dd25bf8ba9e84ac6 (diff)
downloadgdb-f8e89861cfb6acbfa097814f5864afd5563a3011.zip
gdb-f8e89861cfb6acbfa097814f5864afd5563a3011.tar.gz
gdb-f8e89861cfb6acbfa097814f5864afd5563a3011.tar.bz2
Add support for dynamic type lengths
In Ada, a type with variant parts can have a variable length. This patch adds support for this to gdb, by integrating the length computation into the dynamic type resolution code. gdb/ChangeLog 2020-04-24 Tom Tromey <tromey@adacore.com> * dwarf2/read.c (read_structure_type): Handle dynamic length. * gdbtypes.c (is_dynamic_type_internal): Check TYPE_HAS_DYNAMIC_LENGTH. (resolve_dynamic_type_internal): Use TYPE_DYNAMIC_LENGTH. * gdbtypes.h (TYPE_HAS_DYNAMIC_LENGTH, TYPE_DYNAMIC_LENGTH): New macros. (enum dynamic_prop_node_kind) <DYN_PROP_BYTE_SIZE>: New constant. gdb/testsuite/ChangeLog 2020-04-24 Tom Tromey <tromey@adacore.com> * gdb.ada/variant.exp: New file * gdb.ada/variant/pkg.adb: New file * gdb.ada/variant/pck.adb: New file
Diffstat (limited to 'gdb/ChangeLog')
-rw-r--r--gdb/ChangeLog11
1 files changed, 11 insertions, 0 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 962c997..29e9a47 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,5 +1,16 @@
2020-04-24 Tom Tromey <tromey@adacore.com>
+ * dwarf2/read.c (read_structure_type): Handle dynamic length.
+ * gdbtypes.c (is_dynamic_type_internal): Check
+ TYPE_HAS_DYNAMIC_LENGTH.
+ (resolve_dynamic_type_internal): Use TYPE_DYNAMIC_LENGTH.
+ * gdbtypes.h (TYPE_HAS_DYNAMIC_LENGTH, TYPE_DYNAMIC_LENGTH):
+ New macros.
+ (enum dynamic_prop_node_kind) <DYN_PROP_BYTE_SIZE>: New
+ constant.
+
+2020-04-24 Tom Tromey <tromey@adacore.com>
+
* dwarf2/read.c (struct variant_field): Rewrite.
(struct variant_part_builder): New.
(struct nextfield): Remove "variant" field. Add "offset".