gdb: fix format string warnings in f-lang.c

I get a bunch of these warnings when compiling for i386 (32-bit):

      CXX    f-lang.o
    /home/simark/src/binutils-gdb/gdb/f-lang.c: In function 'value* fortran_value_subarray(value*, expression*, int*, int, noside)':
    /home/simark/src/binutils-gdb/gdb/f-lang.c:453:48: error: format '%ld' expects argument of type 'long int', but argument 2 has type 'LONGEST' {aka 'long long int'} [-Werror=format=]
      453 |        debug_printf ("|   |   |-> Low bound: %ld\n", lb);
          |                                              ~~^     ~~
          |                                                |     |
          |                                                |     LONGEST {aka long long int}
          |                                                long int
          |                                              %lld

Fix them by using plongest/pulongest.

gdb/ChangeLog:

	* f-lang.c (fortran_value_subarray): Use plongest/pulongest.

Change-Id: I666ead5593653d5a1a3dab2ffdc72942c928c7d2
This commit is contained in:
Simon Marchi
2020-11-19 11:31:34 -05:00
parent 70125a45e4
commit a5adb8f3b4
2 changed files with 40 additions and 29 deletions

View File

@@ -1,3 +1,7 @@
2020-11-19 Simon Marchi <simon.marchi@polymtl.ca>
* f-lang.c (fortran_value_subarray): Use plongest/pulongest.
2020-11-19 Simon Marchi <simon.marchi@polymtl.ca> 2020-11-19 Simon Marchi <simon.marchi@polymtl.ca>
* gdbarch.sh (read_core_file_mappings): Remove `other` parameter * gdbarch.sh (read_core_file_mappings): Remove `other` parameter

View File

@@ -450,21 +450,21 @@ fortran_value_subarray (struct value *array, struct expression *exp,
std::string str = type_to_string (dim_type); std::string str = type_to_string (dim_type);
debug_printf ("| |-> Type: %s\n", str.c_str ()); debug_printf ("| |-> Type: %s\n", str.c_str ());
debug_printf ("| |-> Array:\n"); debug_printf ("| |-> Array:\n");
debug_printf ("| | |-> Low bound: %ld\n", lb); debug_printf ("| | |-> Low bound: %s\n", plongest (lb));
debug_printf ("| | |-> High bound: %ld\n", ub); debug_printf ("| | |-> High bound: %s\n", plongest (ub));
debug_printf ("| | |-> Bit stride: %ld\n", sd); debug_printf ("| | |-> Bit stride: %s\n", plongest (sd));
debug_printf ("| | |-> Byte stride: %ld\n", sd / 8); debug_printf ("| | |-> Byte stride: %s\n", plongest (sd / 8));
debug_printf ("| | |-> Type size: %ld\n", debug_printf ("| | |-> Type size: %s\n",
TYPE_LENGTH (dim_type)); pulongest (TYPE_LENGTH (dim_type)));
debug_printf ("| | '-> Target type size: %ld\n", debug_printf ("| | '-> Target type size: %s\n",
TYPE_LENGTH (target_type)); pulongest (TYPE_LENGTH (target_type)));
debug_printf ("| |-> Accessing:\n"); debug_printf ("| |-> Accessing:\n");
debug_printf ("| | |-> Low bound: %ld\n", debug_printf ("| | |-> Low bound: %s\n",
low); plongest (low));
debug_printf ("| | |-> High bound: %ld\n", debug_printf ("| | |-> High bound: %s\n",
high); plongest (high));
debug_printf ("| | '-> Element stride: %ld\n", debug_printf ("| | '-> Element stride: %s\n",
stride); plongest (stride));
} }
/* Check the user hasn't asked for something invalid. */ /* Check the user hasn't asked for something invalid. */
@@ -506,13 +506,17 @@ fortran_value_subarray (struct value *array, struct expression *exp,
if (fortran_array_slicing_debug) if (fortran_array_slicing_debug)
{ {
debug_printf ("| '-> Results:\n"); debug_printf ("| '-> Results:\n");
debug_printf ("| |-> Offset = %ld\n", offset); debug_printf ("| |-> Offset = %s\n", plongest (offset));
debug_printf ("| |-> Elements = %ld\n", e_count); debug_printf ("| |-> Elements = %s\n", plongest (e_count));
debug_printf ("| |-> Low bound = %ld\n", new_low); debug_printf ("| |-> Low bound = %s\n", plongest (new_low));
debug_printf ("| |-> High bound = %ld\n", new_high); debug_printf ("| |-> High bound = %s\n",
debug_printf ("| |-> Byte stride = %ld\n", new_stride); plongest (new_high));
debug_printf ("| |-> Last element = %ld\n", last_elem); debug_printf ("| |-> Byte stride = %s\n",
debug_printf ("| |-> Remainder = %ld\n", remainder); plongest (new_stride));
debug_printf ("| |-> Last element = %s\n",
plongest (last_elem));
debug_printf ("| |-> Remainder = %s\n",
plongest (remainder));
debug_printf ("| '-> Contiguous = %s\n", debug_printf ("| '-> Contiguous = %s\n",
(is_dim_contiguous ? "Yes" : "No")); (is_dim_contiguous ? "Yes" : "No"));
} }
@@ -548,14 +552,16 @@ fortran_value_subarray (struct value *array, struct expression *exp,
std::string str = type_to_string (dim_type); std::string str = type_to_string (dim_type);
debug_printf ("| |-> Type: %s\n", str.c_str ()); debug_printf ("| |-> Type: %s\n", str.c_str ());
debug_printf ("| |-> Array:\n"); debug_printf ("| |-> Array:\n");
debug_printf ("| | |-> Low bound: %ld\n", lb); debug_printf ("| | |-> Low bound: %s\n", plongest (lb));
debug_printf ("| | |-> High bound: %ld\n", ub); debug_printf ("| | |-> High bound: %s\n", plongest (ub));
debug_printf ("| | |-> Byte stride: %ld\n", sd); debug_printf ("| | |-> Byte stride: %s\n", plongest (sd));
debug_printf ("| | |-> Type size: %ld\n", TYPE_LENGTH (dim_type)); debug_printf ("| | |-> Type size: %s\n",
debug_printf ("| | '-> Target type size: %ld\n", pulongest (TYPE_LENGTH (dim_type)));
TYPE_LENGTH (target_type)); debug_printf ("| | '-> Target type size: %s\n",
pulongest (TYPE_LENGTH (target_type)));
debug_printf ("| '-> Accessing:\n"); debug_printf ("| '-> Accessing:\n");
debug_printf ("| '-> Index: %ld\n", index); debug_printf ("| '-> Index: %s\n",
plongest (index));
} }
/* If the array has actual content then check the index is in /* If the array has actual content then check the index is in
@@ -612,7 +618,8 @@ fortran_value_subarray (struct value *array, struct expression *exp,
debug_printf ("'-> Final result:\n"); debug_printf ("'-> Final result:\n");
debug_printf (" |-> Type: %s\n", debug_printf (" |-> Type: %s\n",
type_to_string (array_slice_type).c_str ()); type_to_string (array_slice_type).c_str ());
debug_printf (" |-> Total offset: %ld\n", total_offset); debug_printf (" |-> Total offset: %s\n",
plongest (total_offset));
debug_printf (" |-> Base address: %s\n", debug_printf (" |-> Base address: %s\n",
core_addr_to_string (value_address (array))); core_addr_to_string (value_address (array)));
debug_printf (" '-> Contiguous = %s\n", debug_printf (" '-> Contiguous = %s\n",