aboutsummaryrefslogtreecommitdiff
path: root/gdb/ada-lang.c
diff options
context:
space:
mode:
authorTom Tromey <tromey@adacore.com>2021-10-18 12:32:18 -0600
committerTom Tromey <tromey@adacore.com>2021-10-19 13:30:59 -0600
commit5a8edb756a56cdfb563006cbc39561994acf6d2d (patch)
tree58e9c09bd17adc4f1dcde2868f8b3c8c7478b21b /gdb/ada-lang.c
parent775d36a916c1be042ceb67fc6ea22f53a9f5e331 (diff)
downloadgdb-5a8edb756a56cdfb563006cbc39561994acf6d2d.zip
gdb-5a8edb756a56cdfb563006cbc39561994acf6d2d.tar.gz
gdb-5a8edb756a56cdfb563006cbc39561994acf6d2d.tar.bz2
Check index in type::field
This changes gdb to check the index that is passed to type::field. This caught one bug in the Ada code when running the test suite (actually I found the bug first, then realized that the check would have helped), so this patch fixes that as well. Regression tested on x86-64 Fedora 34.
Diffstat (limited to 'gdb/ada-lang.c')
-rw-r--r--gdb/ada-lang.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/gdb/ada-lang.c b/gdb/ada-lang.c
index 98718bc..935358d 100644
--- a/gdb/ada-lang.c
+++ b/gdb/ada-lang.c
@@ -7539,7 +7539,7 @@ ada_template_to_fixed_record_type_1 (struct type *type,
that follow this one. */
if (ada_is_aligner_type (field_type))
{
- long field_offset = TYPE_FIELD_BITPOS (field_type, f);
+ long field_offset = TYPE_FIELD_BITPOS (type, f);
field_valaddr = cond_offset_host (field_valaddr, field_offset);
field_address = cond_offset_target (field_address, field_offset);