From 2bbe3bb5d938a83c871cdc995b5f8a9ff5bec100 Mon Sep 17 00:00:00 2001 From: Tom Tromey Date: Tue, 12 Aug 2025 07:13:26 -0600 Subject: Avoid scopes.exp failure on certain architectures A buildbot pointed out that my changes to gdb.dap/scopes.exp caused a test failure. The new code iterates over all the registers, fetching their children (when possible). The failure comes because this code failed to consider that a register might have "indexed" children, which I believe can occur when a register is vector-like. This patch fixes the problem by arranging to fetch indexed children when indicated. --- gdb/testsuite/gdb.dap/scopes.exp | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) (limited to 'gdb/testsuite') diff --git a/gdb/testsuite/gdb.dap/scopes.exp b/gdb/testsuite/gdb.dap/scopes.exp index bce7746..52efa68 100644 --- a/gdb/testsuite/gdb.dap/scopes.exp +++ b/gdb/testsuite/gdb.dap/scopes.exp @@ -152,10 +152,17 @@ lassign [dap_check_request_and_response "fetch all registers" \ foreach var [dict get $val body variables] { set regvar [dict get $var variablesReference] if {$regvar > 0} { + # If variablesReference is non-zero, then there must be either + # named or indexed children. + if {[dict exists $var namedVariables]} { + set n [dict get $var namedVariables] + } else { + set n [dict get $var indexedVariables] + } + dap_check_request_and_response "fetch register children for $regvar" \ "variables" \ - [format {o variablesReference [i %d] count [i %d]} \ - $regvar [dict get $var namedVariables]] + [format {o variablesReference [i %d] count [i %d]} $regvar $n] } } -- cgit v1.1