aboutsummaryrefslogtreecommitdiff
path: root/gdb
diff options
context:
space:
mode:
authorJoel Brobecker <brobecker@gnat.com>2009-03-24 01:58:22 +0000
committerJoel Brobecker <brobecker@gnat.com>2009-03-24 01:58:22 +0000
commit5bc23cb38a1dcffee544f89ecfc25b5774bdd45d (patch)
treeddd8b0e3c3a2e1f0e16a51f691eca6943a7d7466 /gdb
parente0cfd8e38b64319ee7fe4ca61ede8a982f1f8bec (diff)
downloadgdb-5bc23cb38a1dcffee544f89ecfc25b5774bdd45d.zip
gdb-5bc23cb38a1dcffee544f89ecfc25b5774bdd45d.tar.gz
gdb-5bc23cb38a1dcffee544f89ecfc25b5774bdd45d.tar.bz2
* ada-lang.c (ada_evaluate_subexp): [OP_ATR_FIRST, OP_ATR_LAST]
[OP_ATR_LENGTH]: When using the attribute on a type, make sure to get the real type, not the associated typedef.
Diffstat (limited to 'gdb')
-rw-r--r--gdb/ChangeLog6
-rw-r--r--gdb/ada-lang.c2
2 files changed, 7 insertions, 1 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 02f37a1..7320545 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,5 +1,11 @@
2009-03-23 Joel Brobecker <brobecker@adacore.com>
+ * ada-lang.c (ada_evaluate_subexp): [OP_ATR_FIRST, OP_ATR_LAST]
+ [OP_ATR_LENGTH]: When using the attribute on a type, make sure
+ to get the real type, not the associated typedef.
+
+2009-03-23 Joel Brobecker <brobecker@adacore.com>
+
* ada-lang.c (ada_get_field_index): Add handling of the case
when TYPE is a typedef of a struct.
diff --git a/gdb/ada-lang.c b/gdb/ada-lang.c
index b4e1eb9..b9a0a3d 100644
--- a/gdb/ada-lang.c
+++ b/gdb/ada-lang.c
@@ -8872,7 +8872,7 @@ ada_evaluate_subexp (struct type *expect_type, struct expression *exp,
{
evaluate_subexp (NULL_TYPE, exp, pos, EVAL_SKIP);
arg1 = NULL;
- type_arg = exp->elts[pc + 2].type;
+ type_arg = check_typedef (exp->elts[pc + 2].type);
}
else
{