* ada-lang.c (ada_evaluate_subexp) [UNOP_IN_RANGE]: make sure
authorJoel Brobecker <brobecker@gnat.com>
Tue, 24 Mar 2009 02:04:19 +0000 (02:04 +0000)
committerJoel Brobecker <brobecker@gnat.com>
Tue, 24 Mar 2009 02:04:19 +0000 (02:04 +0000)
        we try to apply the attribute on the real type, rather than
        its associated typedef.

gdb/ChangeLog
gdb/ada-lang.c

index f6f8c29ce333b5fd24df547e2ebbe87a0824fc60..7754d6405dcd53f21ff1210e7169e5b6482ee6e1 100644 (file)
@@ -1,3 +1,9 @@
+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
index 38902af35e6cb19add8146062be69b548b6a24b2..f257fb391faccd9c71725ebce856af7e9283dab7 100644 (file)
@@ -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;