Style field names in "print"
authorTom Tromey <tom@tromey.com>
Sat, 22 Feb 2020 17:02:42 +0000 (10:02 -0700)
committerTom Tromey <tom@tromey.com>
Sat, 22 Feb 2020 17:12:52 +0000 (10:12 -0700)
commit3f0cbb04d0fbb0923f2972efa95a4c767592860b
tree2cb2b5e19021553e6ba40a7497e30f39f45fa6d0
parent7b3c27152b5695177a2cd5adc0d7b0255f99aca0
Style field names in "print"

This changes gdb to use the "variable" style when printing field
names.  I've added new tests for C and Rust, but not other languages.

I chose "variable" because that seemed most straightforward.  However,
another option would be to introduce a new "field" style.  Similarly,
this patch uses the variable style for enumerator constants -- but
again, a new style could be used if that's preferred.

gdb/ChangeLog
2020-02-22  Tom Tromey  <tom@tromey.com>

* valprint.c (generic_val_print_enum_1)
(val_print_type_code_flags): Style member names.
* rust-lang.c (val_print_struct, rust_print_enum)
(rust_print_struct_def, rust_internal_print_type): Style member
names.
* p-valprint.c (pascal_object_print_value_fields): Style member
names.  Only call fprintf_symbol_filtered for static members.
* m2-typeprint.c (m2_record_fields, m2_enum): Style member names.
* f-valprint.c (f_val_print): Style member names.
* f-typeprint.c (f_type_print_base): Style member names.
* cp-valprint.c (cp_print_value_fields): Style member names.  Only
call fprintf_symbol_filtered for static members.
(cp_print_class_member): Style member names.
* c-typeprint.c (c_print_type_1, c_type_print_base_1): Style
member names.
* ada-valprint.c (ada_print_scalar): Style enum names.
(ada_val_print_enum): Likewise.
* ada-typeprint.c (print_enum_type): Style enum names.

gdb/testsuite/ChangeLog
2020-02-22  Tom Tromey  <tom@tromey.com>

* gdb.rust/rust-style.rs: New file.
* gdb.rust/rust-style.exp: New file.
* gdb.base/style.exp: Test structure printing.
* gdb.base/style.c (struct some_struct): New type.
(enum etype): New type.
(struct_value): New global.

Change-Id: I070e1293c6cc830c9ea916af8243410aa384e944
16 files changed:
gdb/ChangeLog
gdb/ada-typeprint.c
gdb/ada-valprint.c
gdb/c-typeprint.c
gdb/cp-valprint.c
gdb/f-typeprint.c
gdb/f-valprint.c
gdb/m2-typeprint.c
gdb/p-valprint.c
gdb/rust-lang.c
gdb/testsuite/ChangeLog
gdb/testsuite/gdb.base/style.c
gdb/testsuite/gdb.base/style.exp
gdb/testsuite/gdb.rust/rust-style.exp [new file with mode: 0644]
gdb/testsuite/gdb.rust/rust-style.rs [new file with mode: 0644]
gdb/valprint.c