Remove adjust_type_signedness
authorTom Tromey <tromey@adacore.com>
Tue, 18 Apr 2023 16:59:53 +0000 (10:59 -0600)
committerTom Tromey <tromey@adacore.com>
Wed, 19 Apr 2023 13:43:20 +0000 (07:43 -0600)
I happened across adjust_type_signedness, which may be used to modify
a type when printing an Ada value.  Modifying a type like this is a
bad idea -- they should normally be considered immutable.  Removing
this function still passes both the dejagnu and internal AdaCore
tests, though, so this patch drops it.

As this was reviewed internally, and only affect Ada, I am checking it
in.

gdb/ada-valprint.c

index 02ae46bce9e81f055f62cd1f1a4fee8a90694bc2..24a7ea2ba79afdbcaa5709abfe63bfa6f47f01c0 100644 (file)
@@ -37,15 +37,6 @@ static int print_field_values (struct value *, struct value *,
 
 \f
 
-/* Make TYPE unsigned if its range of values includes no negatives.  */
-static void
-adjust_type_signedness (struct type *type)
-{
-  if (type != NULL && type->code () == TYPE_CODE_RANGE
-      && type->bounds ()->low.const_val () >= 0)
-    type->set_is_unsigned (true);
-}
-
 /* Assuming TYPE is a simple array type, prints its lower bound on STREAM,
    if non-standard (i.e., other than 1 for numbers, other than lower bound
    of index type for enumerated type).  Returns 1 if something printed,
@@ -652,7 +643,6 @@ print_field_values (struct value *value, struct value *outer_value,
              int bit_size = TYPE_FIELD_BITSIZE (type, i);
              struct value_print_options opts;
 
-             adjust_type_signedness (type->field (i).type ());
              v = ada_value_primitive_packed_val
                    (value, nullptr,
                     bit_pos / HOST_CHAR_BIT,