* ada-lang.c (ada_evaluate_subexp): [OP_ATR_FIRST, OP_ATR_LAST]
authorJoel Brobecker <brobecker@gnat.com>
Tue, 24 Mar 2009 01:58:22 +0000 (01:58 +0000)
committerJoel Brobecker <brobecker@gnat.com>
Tue, 24 Mar 2009 01:58:22 +0000 (01:58 +0000)
        [OP_ATR_LENGTH]: When using the attribute on a type, make sure
        to get the real type, not the associated typedef.

gdb/ChangeLog
gdb/ada-lang.c

index 02f37a1f6e4c5c940625b5d23796cea2705a2608..732054527987f78d4f785de779da4f394e36233b 100644 (file)
@@ -1,3 +1,9 @@
+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
index b4e1eb952c0a1c187462c1c8d860f72f62c26847..b9a0a3d3b114b040899ef9736330b1e9103c031d 100644 (file)
@@ -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
           {