aboutsummaryrefslogtreecommitdiff
path: root/gdb
diff options
context:
space:
mode:
authorJoel Brobecker <brobecker@gnat.com>2009-03-24 02:04:19 +0000
committerJoel Brobecker <brobecker@gnat.com>2009-03-24 02:04:19 +0000
commit8008e2653ff2b755fbe7dd61793201721cfdc535 (patch)
tree50540d969d5146de46c659547a85c1d7f3df575f /gdb
parent31dedfee60c1832aa6c7d7376fce432e94798471 (diff)
downloadgdb-8008e2653ff2b755fbe7dd61793201721cfdc535.zip
gdb-8008e2653ff2b755fbe7dd61793201721cfdc535.tar.gz
gdb-8008e2653ff2b755fbe7dd61793201721cfdc535.tar.bz2
* ada-lang.c (ada_evaluate_subexp) [UNOP_IN_RANGE]: make sure
we try to apply the attribute on the real type, rather than its 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 f6f8c29..7754d64 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) [UNOP_IN_RANGE]: make sure
+ we try to apply the attribute on the real type, rather than
+ its associated typedef.
+
+2009-03-23 Joel Brobecker <brobecker@adacore.com>
+
* ada-lang.c (ada_evaluate_subexp) [OP_ATR_MODULUS]: Use check_typdef
to make sure we try to get the modulus of the actual type, not the
associated typedef.
diff --git a/gdb/ada-lang.c b/gdb/ada-lang.c
index 38902af..f257fb3 100644
--- a/gdb/ada-lang.c
+++ b/gdb/ada-lang.c
@@ -8786,7 +8786,7 @@ ada_evaluate_subexp (struct type *expect_type, struct expression *exp,
case UNOP_IN_RANGE:
(*pos) += 2;
arg1 = evaluate_subexp (NULL_TYPE, exp, pos, noside);
- type = exp->elts[pc + 1].type;
+ type = check_typedef (exp->elts[pc + 1].type);
if (noside == EVAL_SKIP)
goto nosideret;