aboutsummaryrefslogtreecommitdiff
path: root/gdb/ChangeLog
diff options
context:
space:
mode:
authorJerome Guitton <guitton@adacore.com>2014-02-12 12:08:23 +0100
committerJoel Brobecker <brobecker@adacore.com>2014-03-10 14:40:35 +0100
commit5ec18f2b48ab74bbbaf436324ce3947df3bc048e (patch)
tree5f01e6d0aa8c860be1e8befb994d2b15ec8d415b /gdb/ChangeLog
parent7d03f2eb64305b386f2ae8b733e0a2a143fd4ffd (diff)
downloadgdb-5ec18f2b48ab74bbbaf436324ce3947df3bc048e.zip
gdb-5ec18f2b48ab74bbbaf436324ce3947df3bc048e.tar.gz
gdb-5ec18f2b48ab74bbbaf436324ce3947df3bc048e.tar.bz2
[Ada] Full view of tagged type with ptype
When evaluating an expression, if it is of a tagged type, GDB reads the tag in memory and deduces the full view. At parsing time, however, this operation is done only in the case of OP_VAR_VALUE. ptype does not go through a full evaluation of expressions so it may return some odd results: (gdb) print c.menu_name $1 = 0x0 (gdb) ptype $ type = system.strings.string_access (gdb) ptype c.menu_name type = <void> This change removes this peculiarity by extending the tag resolution to UNOP_IND and STRUCTOP_STRUCT. As in the case of OP_VAR_VALUE, this implies switching from EVAL_AVOID_SIDE_EFFECTS to EVAL_NORMAL when a tagged type is dereferenced. gdb/ * ada-lang.c (ada_evaluate_subexp): Resolve tagged types to full view in the case of UNOP_IND and STRUCTOP_STRUCT. gdb/testsuite/ * gdb.ada/tagged_access: New testcase.
Diffstat (limited to 'gdb/ChangeLog')
-rw-r--r--gdb/ChangeLog5
1 files changed, 5 insertions, 0 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 60087c7..73ab666 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,8 @@
+2014-03-10 Jerome Guitton <guitton@adacore.com>
+
+ * ada-lang.c (ada_evaluate_subexp): Resolve tagged types to
+ full view in the case of UNOP_IND and STRUCTOP_STRUCT.
+
2014-03-10 Hui Zhu <hui@codesourcery.com>
* target.h (target_insert_breakpoint): Remove "hardware" from its