From: Tom Tromey Date: Tue, 12 Aug 2025 13:13:26 +0000 (-0600) Subject: Avoid scopes.exp failure on certain architectures X-Git-Tag: gdb-17-branchpoint~341 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=2bbe3bb5d938a83c871cdc995b5f8a9ff5bec100;p=thirdparty%2Fbinutils-gdb.git 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. --- diff --git a/gdb/testsuite/gdb.dap/scopes.exp b/gdb/testsuite/gdb.dap/scopes.exp index bce7746c12f..52efa683c4c 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] } }