aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Tromey <tom@tromey.com>2021-05-15 08:31:42 -0600
committerTom Tromey <tom@tromey.com>2021-09-23 09:19:56 -0600
commit334381ea466c4735fe533a9864991b862c094b60 (patch)
tree9766fe59b5c0133a3f8a9aa3fd2ef333540274fe
parentae9150ce9e8a0c181590975a6a4770638aafc630 (diff)
downloadfsf-binutils-gdb-334381ea466c4735fe533a9864991b862c094b60.zip
fsf-binutils-gdb-334381ea466c4735fe533a9864991b862c094b60.tar.gz
fsf-binutils-gdb-334381ea466c4735fe533a9864991b862c094b60.tar.bz2
Style the "XXX" text in ptype/o
This patch changes gdb to use the 'highlight' style on the "XXX" text in the output of ptype/o.
-rw-r--r--gdb/testsuite/gdb.base/style.c7
-rw-r--r--gdb/testsuite/gdb.base/style.exp18
-rw-r--r--gdb/typeprint.c14
3 files changed, 35 insertions, 4 deletions
diff --git a/gdb/testsuite/gdb.base/style.c b/gdb/testsuite/gdb.base/style.c
index 59707b3..6a7934f 100644
--- a/gdb/testsuite/gdb.base/style.c
+++ b/gdb/testsuite/gdb.base/style.c
@@ -34,6 +34,13 @@ struct some_struct
struct some_struct struct_value = { 23, "skidoo", VALUE_TWO };
+struct just_bitfield
+{
+ unsigned int field : 3;
+};
+
+struct just_bitfield just_bitfield_value = { 4 };
+
int some_called_function (void)
{
return 0;
diff --git a/gdb/testsuite/gdb.base/style.exp b/gdb/testsuite/gdb.base/style.exp
index 4a3428b..d804853 100644
--- a/gdb/testsuite/gdb.base/style.exp
+++ b/gdb/testsuite/gdb.base/style.exp
@@ -197,6 +197,24 @@ proc run_style_tests { } {
gdb_test "print struct_value" \
"\{$ifield = 23,.*$sfield = .*,.*$efield = $evalue.*"
+ set ffield [limited_style field variable]
+ set cstart [string_to_regexp "/* XXX "]
+ set cend [string_to_regexp " */"]
+ set p1field [limited_style "$cstart.*$decimal.*-bit.*padding.*$cend" \
+ highlight]
+ set p2field [limited_style "$cstart.*$decimal.*-byte.*padding.*$cend" \
+ highlight]
+
+ gdb_test "ptype/o just_bitfield_value" \
+ [multi_line \
+ ".* type = struct just_bitfield {" \
+ ".* unsigned int $ffield : 3;" \
+ "$p1field" \
+ "$p2field" \
+ "" \
+ ".* total size.*: *$decimal *$cend" \
+ " *}.*"]
+
set address_style_expr [limited_style ".*\".*address.*\".*style.*" address]
set color "blue"
if { $currently_disabled_style == "address" } {
diff --git a/gdb/typeprint.c b/gdb/typeprint.c
index 0776f63..ed39141 100644
--- a/gdb/typeprint.c
+++ b/gdb/typeprint.c
@@ -104,12 +104,18 @@ print_offset_data::maybe_print_hole (struct ui_file *stream,
unsigned int hole_bit = hole % TARGET_CHAR_BIT;
if (hole_bit > 0)
- fprintf_filtered (stream, "/* XXX %2u-bit %-7s */\n", hole_bit,
- for_what);
+ {
+ fprintf_styled (stream, highlight_style.style (),
+ "/* XXX %2u-bit %-7s */", hole_bit, for_what);
+ fputs_filtered ("\n", stream);
+ }
if (hole_byte > 0)
- fprintf_filtered (stream, "/* XXX %2u-byte %-7s */\n", hole_byte,
- for_what);
+ {
+ fprintf_styled (stream, highlight_style.style (),
+ "/* XXX %2u-byte %-7s */", hole_byte, for_what);
+ fputs_filtered ("\n", stream);
+ }
}
}