forked from Imagelibrary/binutils-gdb
Fix Ada value printing on PPC64
The val_print removal patches introduced an Ada regression on PPC64 (probably any big-endian system). The issue comes because value_field does not understand that Ada wrapper fields can be bitfields that wrap a non-scalar type. In this case the value is already left-justified, so the justification done there does the wrong thing. Perhaps it would be good, eventually, to change value_field to understand this case. In the meantime this implements an Ada-specific solution. gdb/ChangeLog 2020-05-11 Tom Tromey <tromey@adacore.com> * ada-lang.c (ada_value_primitive_field): Now public. * ada-lang.h (ada_value_primitive_field): Declare. * ada-valprint.c (print_field_values): Use ada_value_primitive_field for wrapper fields.
This commit is contained in:
@@ -609,7 +609,8 @@ print_field_values (struct value *value, struct value *outer_value,
|
||||
|
||||
if (ada_is_wrapper_field (type, i))
|
||||
{
|
||||
struct value *field_val = value_field (value, i);
|
||||
struct value *field_val = ada_value_primitive_field (value, 0,
|
||||
i, type);
|
||||
comma_needed =
|
||||
print_field_values (field_val, field_val,
|
||||
stream, recurse, options,
|
||||
|
||||
Reference in New Issue
Block a user