mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2025-02-05 12:53:16 +08:00
This implements a rudimentary version of the la_print_typedef method for Ada. Ada usually does not use typedefs, but there is one exception: pointers to unconstrained arrays. Without this patch, we sometimes get an error in the "info types" output: (gdb) info types new_integer_type All types matching regular expression "new_integer_type": File foo.adb: Language not supported. For now, we treat the typedef as if it did not exist - using the underlying type instead. This is the right thing to do for most cases, the only exception being access to array types. Since we already have a general issue in handling these pointers (we confuse them with fat pointers), we will enhance ada_print_typedef to handle these pointers at the same time we address the general issue. gdb/ChangeLog: * ada-typeprint.c (ada_print_typedef): New function. * ada-lang.h (ada_print_typedef): Add declaration. * ada-lang.c (ada_language_defn): set la_print_typdef field to ada_print_typedef. gdb/testsuite/ChangeLog: * info_types.c, info_types.exp: New files. Tested on x86_64-linux. |
||
---|---|---|
.. | ||
array_bounds | ||
array_return | ||
array_subscript_addr | ||
arrayidx | ||
arrayparam | ||
arrayptr | ||
atomic_enum | ||
call_pn | ||
catch_ex | ||
char_param | ||
complete | ||
dyn_loc | ||
exec_changed | ||
exprs | ||
fixed_cmp | ||
fixed_points | ||
formatted_ref | ||
frame_args | ||
fun_addr | ||
fun_in_declare | ||
funcall_param | ||
homonym | ||
int_deref | ||
interface | ||
lang_switch | ||
mod_from_name | ||
nested | ||
null_array | ||
null_record | ||
packed_array | ||
packed_tagged | ||
print_chars | ||
ptype_field | ||
ptype_tagged_param | ||
rec_return | ||
ref_param | ||
ref_tick_size | ||
start | ||
str_ref_cmp | ||
sym_print_name | ||
taft_type | ||
tagged | ||
tasks | ||
tick_last_segv | ||
type_coercion | ||
uninitialized_vars | ||
variant_record_packed_array | ||
watch_arg | ||
array_bounds.exp | ||
array_return.exp | ||
array_subscript_addr.exp | ||
arrayidx.exp | ||
arrayparam.exp | ||
arrayptr.exp | ||
assign_1.exp | ||
atomic_enum.exp | ||
boolean_expr.exp | ||
call_pn.exp | ||
catch_ex.exp | ||
char_param.exp | ||
complete.exp | ||
dyn_loc.exp | ||
exec_changed.exp | ||
exprs.exp | ||
fixed_cmp.exp | ||
fixed_points.exp | ||
formatted_ref.exp | ||
frame_args.exp | ||
fun_addr.exp | ||
fun_in_declare.exp | ||
funcall_param.exp | ||
gnat_ada.gpr | ||
homonym.exp | ||
info_types.c | ||
info_types.exp | ||
int_deref.exp | ||
interface.exp | ||
lang_switch.exp | ||
Makefile.in | ||
mod_from_name.exp | ||
nested.exp | ||
null_array.exp | ||
null_record.exp | ||
packed_array.exp | ||
packed_tagged.exp | ||
print_chars.exp | ||
print_pc.exp | ||
ptype_arith_binop.exp | ||
ptype_field.exp | ||
ptype_tagged_param.exp | ||
rec_return.exp | ||
ref_param.exp | ||
ref_tick_size.exp | ||
start.exp | ||
str_ref_cmp.exp | ||
sym_print_name.exp | ||
taft_type.exp | ||
tagged.exp | ||
tasks.exp | ||
tick_last_segv.exp | ||
type_coercion.exp | ||
uninitialized_vars.exp | ||
variant_record_packed_array.exp | ||
watch_arg.exp |