diff options
author | Hannes Domani <ssbssa@yahoo.de> | 2020-04-26 15:28:46 +0200 |
---|---|---|
committer | Hannes Domani <ssbssa@yahoo.de> | 2020-04-29 12:57:25 +0200 |
commit | d642b6920b1a697da2e8fa2326cb773612a87f3f (patch) | |
tree | 7efb5027f46519236ecc146f519d080033d7679f /gdb/ada-valprint.c | |
parent | ea90f2278cee318976c66bf82284046214fb30af (diff) | |
download | gdb-d642b6920b1a697da2e8fa2326cb773612a87f3f.zip gdb-d642b6920b1a697da2e8fa2326cb773612a87f3f.tar.gz gdb-d642b6920b1a697da2e8fa2326cb773612a87f3f.tar.bz2 |
Fix array pretty formatter
Currently, printing with array pretty formatting makes the output actually
less readable than without:
(gdb) p -array on -- {{1,2,3},{4,5,6}}
$1 = { {1,
2,
3},
{4,
5,
6}}
(gdb) p -array on -array-indexes on -- {{1,2,3},{4,5,6}}
$2 = {[0] = {[0] = 1,
[1] = 2,
[2] = 3},
[1] = {[0] = 4,
[1] = 5,
[2] = 6}}
These changes now also put the first element and the array end bracket on a new
line, similar to the structure pretty formatter:
(gdb) p -array on -- {{1,2,3},{4,5,6}}
$1 = {
{
1,
2,
3
},
{
4,
5,
6
}
}
(gdb) p -array on -array-indexes on -- {{1,2,3},{4,5,6}}
$2 = {
[0] = {
[0] = 1,
[1] = 2,
[2] = 3
},
[1] = {
[0] = 4,
[1] = 5,
[2] = 6
}
}
gdb/ChangeLog:
2020-04-29 Hannes Domani <ssbssa@yahoo.de>
PR gdb/17320
* ada-valprint.c (val_print_packed_array_elements): Move array
end bracket to new line.
(ada_val_print_string): Remove extra spaces before first array
element.
* c-valprint.c (c_value_print_array): Likewise.
* m2-valprint.c (m2_print_array_contents): Likewise.
(m2_value_print_inner): Likewise.
* p-valprint.c (pascal_value_print_inner): Likewise.
* valprint.c (generic_val_print_array): Likewise.
(value_print_array_elements): Move first array element and array
end bracket to new line.
gdb/testsuite/ChangeLog:
2020-04-29 Hannes Domani <ssbssa@yahoo.de>
PR gdb/17320
* gdb.base/pretty-array.c: New test.
* gdb.base/pretty-array.exp: New file.
Diffstat (limited to 'gdb/ada-valprint.c')
-rw-r--r-- | gdb/ada-valprint.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/gdb/ada-valprint.c b/gdb/ada-valprint.c index 474b079..31f3a50 100644 --- a/gdb/ada-valprint.c +++ b/gdb/ada-valprint.c @@ -195,6 +195,11 @@ val_print_packed_array_elements (struct type *type, const gdb_byte *valaddr, fprintf_filtered (stream, ", "); } } + else if (options->prettyformat_arrays) + { + fprintf_filtered (stream, "\n"); + print_spaces_filtered (2 + 2 * recurse, stream); + } wrap_here (n_spaces (2 + 2 * recurse)); maybe_print_array_index (index_type, i + low, stream, options); @@ -707,9 +712,6 @@ ada_val_print_string (struct type *type, const gdb_byte *valaddr, eltlen = TYPE_LENGTH (elttype); len = TYPE_LENGTH (type) / eltlen; - if (options->prettyformat_arrays) - print_spaces_filtered (2 + 2 * recurse, stream); - /* If requested, look for the first null char and only print elements up to it. */ if (options->stop_print_at_null) |