mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2025-01-06 12:09:26 +08:00
720d1a4025
This patch enhances the debugger to distinguish between fat pointers that represent either: array types, or array access types. In the latter case, the object/type is encoded as a typedef type pointing to the fat pointer. The first part of the change is to adjust ada_check_typedef to avoid stripping the typedef layer when it points to a fat pointer. The rest of the patch is adjustments required in various places to deal with the fact that the type is uses might now be a typedef. gdb/ChangeLog: * ada-lang.h (ada_coerce_to_simple_array): Add declaration. * ada-lang.c (ada_typedef_target_type): New function. (desc_base_type): Add handling of fat pointer typedefs. (ada_coerce_to_simple_array): Make non-static. (decode_packed_array_bitsize): Add handling of fat pointer typedefs. Add assertion. (ada_template_to_fixed_record_type_1, ada_to_fixed_type) (ada_check_typedef): Add handling of fat pointer typedefs. (ada_evaluate_subexp) [OP_FUNCALL]: Likewise. * ada-typeprint.c (ada_print_type): Add handling of fat pointer typedefs. * ada-valprint.c (ada_val_print_1): Convert fat pointers that are not array accesses to simple arrays rather than simple array pointers. (ada_value_print): In the case of array descriptors, do not print the value type description unless it is an array access. gdb/testsuite/ChangeLog: * gdb.ada/lang_switch.exp: Correct expected parameter value. gdb/doc/ChangeLog: * gdb.texinfo (Ada Glitches): Remove paragraph describing the occasional case where the debugger prints an array address instead of the array itself. |
||
---|---|---|
.. | ||
config | ||
gdb.ada | ||
gdb.arch | ||
gdb.asm | ||
gdb.base | ||
gdb.cell | ||
gdb.cp | ||
gdb.disasm | ||
gdb.dwarf2 | ||
gdb.fortran | ||
gdb.gdb | ||
gdb.hp | ||
gdb.java | ||
gdb.mi | ||
gdb.modula2 | ||
gdb.multi | ||
gdb.objc | ||
gdb.opencl | ||
gdb.opt | ||
gdb.pascal | ||
gdb.python | ||
gdb.reverse | ||
gdb.server | ||
gdb.stabs | ||
gdb.threads | ||
gdb.trace | ||
gdb.xml | ||
lib | ||
.gdbinit | ||
aclocal.m4 | ||
ChangeLog | ||
configure | ||
configure.ac | ||
dg-extract-results.sh | ||
Makefile.in | ||
TODO |