[Ada] "ptype" of array where bound value uses DW_OP_push_object_address
authorJoel Brobecker <brobecker@adacore.com>
Thu, 14 Aug 2014 22:57:00 +0000 (15:57 -0700)
committerJoel Brobecker <brobecker@adacore.com>
Mon, 18 Aug 2014 16:13:29 +0000 (18:13 +0200)
commit950c97d860f07274cad59b71c57704793e7f5a83
tree3f81b5605cbf6490c7a0304a4c6f081033a3cdf2
parent3cdcd0ce16272ae8e8183699a341d081b6eb1b21
[Ada] "ptype" of array where bound value uses DW_OP_push_object_address

Consider an Ada array type where the DWARF debugging info for
at least one of the bounds involves an expression containing
a DW_OP_push_object_address operation. Trying to "ptype" that
type currently yields:

    (gdb) ptype foo.array_type
    type = array (Location address is not set.

This patch improves ada-typeprint by adding handling of the situation
where an array range type has dynamic bounds.  In that case, it prints
the array bounds using Ada's typical syntax for unbounded ranges "<>":

    (gdb) ptype array_type
    type = array (<>) of integer

gdb/ChangeLog:

        * ada-typeprint.c (type_is_full_subrange_of_target_type):
        Return 0 if TYPE is dynamic.
        (print_range): Add handling of dynamic ranges.
gdb/ChangeLog
gdb/ada-typeprint.c