From 3d507ff23b724ecb2b9a5a61cebd0fba275cfbc3 Mon Sep 17 00:00:00 2001 From: Tom Tromey Date: Tue, 18 Jun 2019 09:37:02 -0600 Subject: [PATCH] Fix two buglets in cp_print_value_fields patch Pedro and Tom both pointed out issues in the cp_print_value_fields patch, aka the fix for PR c++/20020. This patch addresses both issues. Tested on x86-64 Fedora 29. gdb/ChangeLog 2019-06-27 Tom Tromey * cp-valprint.c (cp_print_value_fields): Pass opts, not options, to cp_print_static_field. gdb/testsuite/ChangeLog 2019-06-27 Tom Tromey * gdb.cp/constexpr-field.exp: Use setup_xfail. --- gdb/ChangeLog | 5 +++++ gdb/cp-valprint.c | 2 +- gdb/testsuite/ChangeLog | 4 ++++ gdb/testsuite/gdb.cp/constexpr-field.exp | 3 ++- 4 files changed, 12 insertions(+), 2 deletions(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index f06d13e69dd..28a0df36dba 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,8 @@ +2019-06-27 Tom Tromey + + * cp-valprint.c (cp_print_value_fields): Pass opts, not options, + to cp_print_static_field. + 2019-06-26 Tom Tromey * minsyms.c (lookup_minimal_symbol_solib_trampoline): Remove. diff --git a/gdb/cp-valprint.c b/gdb/cp-valprint.c index 5781d7ab561..d3a38d885d8 100644 --- a/gdb/cp-valprint.c +++ b/gdb/cp-valprint.c @@ -302,7 +302,7 @@ cp_print_value_fields (struct type *type, struct type *real_type, cp_print_static_field (TYPE_FIELD_TYPE (type, i), v, stream, recurse + 1, - options); + opts); } catch (const gdb_exception_error &ex) { diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog index 10a38a2666f..2347a4ad038 100644 --- a/gdb/testsuite/ChangeLog +++ b/gdb/testsuite/ChangeLog @@ -1,3 +1,7 @@ +2019-06-27 Tom Tromey + + * gdb.cp/constexpr-field.exp: Use setup_xfail. + 2019-06-26 Tom de Vries * gdb.dwarf2/varval.exp: Compile twice, once without bad DWARF. diff --git a/gdb/testsuite/gdb.cp/constexpr-field.exp b/gdb/testsuite/gdb.cp/constexpr-field.exp index e4849efeae9..2f71cef952a 100644 --- a/gdb/testsuite/gdb.cp/constexpr-field.exp +++ b/gdb/testsuite/gdb.cp/constexpr-field.exp @@ -31,6 +31,7 @@ if {![runto_main]} { # "x" sometimes isn't available due to # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90526 -gdb_test "print x" " = {static f = .*}" +setup_xfail *-*-* gcc/90526 +gdb_test "print x" " = {static f = true}" gdb_test "print y" " = {static f = true}" -- 2.30.2