public inbox for gdb-patches@sourceware.org
 help / color / mirror / Atom feed
* [PATCH v4 0/2] add annotation in 'info locals' command for variables shadowing case
@ 2023-09-19 16:46 Abdul Basit Ijaz
  2023-09-19 16:46 ` [PATCH v4 1/2] gdb: " Abdul Basit Ijaz
  2023-09-19 16:47 ` [PATCH v4 2/2] gdb: add shadowed field in '-stack-list-locals/variables' mi commands Abdul Basit Ijaz
  0 siblings, 2 replies; 8+ messages in thread
From: Abdul Basit Ijaz @ 2023-09-19 16:46 UTC (permalink / raw)
  To: gdb-patches
  Cc: pedro, philippe.waroquiers, aburgess, tankut.baris.aktemur,
	christina.schimpe, lsix, Ijaz, Abdul B

From: "Ijaz, Abdul B" <abdul.b.ijaz@intel.com>

Hi All,

For the variable shadowing case, these V3 patches add the annotation "shadowed" and location information  to the shadowed variables so that it is easier for the end user to identify which variable was shadowed.

V3 series:
https://sourceware.org/pipermail/gdb-patches/2023-September/202574.html

V2 series:
https://sourceware.org/pipermail/gdb-patches/2021-December/184675.html

Feedback for V2 series:
https://sourceware.org/pipermail/gdb-patches/2022-January/184822.html
https://sourceware.org/pipermail/gdb-patches/2022-January/184819.html

V1 series:
https://sourceware.org/pipermail/gdb-patches/2021-July/181174.html

Patch#1 updates "info locals" command and Path #2 is for the mi commands
'-stack-list-locals' and '-stack-list-variables'.

Changes since V3:
* Improve the handling of "unordered_set" objects for both Patches 1 & 2 as per feedback from Lancelot.
* Improve file path handling to get file name using function "lbasename" from libiberty.h as per feedback from Lancelot.
* Regression was reported in V3 series for test "gdb.python/py-framefilter-mi.exp" which is fixed in V4.  It was failing because function argument was reused in the function body and -stack-list-locals was printing location information for the reused variable.  Now shadowing is not considering function arguments in "info locals/-stack-list/variables or locals" commands.  So in cases similar to this test where a variable is reused in function then only printing location for this reused variable does not add value to it as the function argument is not printed with "shadowed" string for argument otherwise if it is needed then please give the feedback so instead I will update the test accordingly.
* Also following prgression was reported in regression report email for V3 series.  Passing 3/3 times in V4 series locally.
Running gdb:gdb.base/startup-with-shell.exp ...
FAIL: gdb.base/startup-with-shell.exp: startup_with_shell = on; run_args = *.unique-extension:first argument expanded

GDB Testsuite is executed on Ubuntu22.04 OS using gcc64 and do not see any regression for it.

Thanks & Best Regards,
Abdul Basit

Ijaz, Abdul B (2):
  gdb: add annotation in 'info locals' command for variables shadowing
    case
  gdb: add shadowed field in '-stack-list-locals/variables' mi commands

 gdb/doc/gdb.texinfo                           |  26 ++++
 gdb/mi/mi-cmd-stack.c                         |  66 +++++++-
 gdb/printcmd.c                                |  11 +-
 gdb/stack.c                                   |  64 +++++++-
 gdb/stack.h                                   |   3 +-
 gdb/testsuite/gdb.ada/var_shadowing.exp       |  38 +++++
 .../gdb.ada/var_shadowing/var_shadowing.adb   |  30 ++++
 gdb/testsuite/gdb.base/var-shadowing.c        |  49 ++++++
 gdb/testsuite/gdb.base/var-shadowing.exp      |  90 +++++++++++
 gdb/testsuite/gdb.base/var-shadowing2.c       |  16 ++
 gdb/testsuite/gdb.mi/mi-var-shadowing.c       |  48 ++++++
 gdb/testsuite/gdb.mi/mi-var-shadowing.exp     | 141 ++++++++++++++++++
 gdb/testsuite/gdb.rust/var_reuse.exp          |  32 ++++
 gdb/testsuite/gdb.rust/var_reuse.rs           |  20 +++
 gdb/tracepoint.c                              |   3 +-
 gdb/value.h                                   |   4 +-
 16 files changed, 626 insertions(+), 15 deletions(-)
 create mode 100644 gdb/testsuite/gdb.ada/var_shadowing.exp
 create mode 100644 gdb/testsuite/gdb.ada/var_shadowing/var_shadowing.adb
 create mode 100755 gdb/testsuite/gdb.base/var-shadowing.c
 create mode 100755 gdb/testsuite/gdb.base/var-shadowing.exp
 create mode 100644 gdb/testsuite/gdb.base/var-shadowing2.c
 create mode 100644 gdb/testsuite/gdb.mi/mi-var-shadowing.c
 create mode 100644 gdb/testsuite/gdb.mi/mi-var-shadowing.exp
 create mode 100755 gdb/testsuite/gdb.rust/var_reuse.exp
 create mode 100755 gdb/testsuite/gdb.rust/var_reuse.rs

-- 
2.34.1

Intel Deutschland GmbH
Registered Address: Am Campeon 10, 85579 Neubiberg, Germany
Tel: +49 89 99 8853-0, www.intel.de <http://www.intel.de>
Managing Directors: Christin Eisenschmid, Sharon Heck, Tiffany Doon Silva  
Chairperson of the Supervisory Board: Nicole Lau
Registered Office: Munich
Commercial Register: Amtsgericht Muenchen HRB 186928


^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2023-11-21  8:30 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-09-19 16:46 [PATCH v4 0/2] add annotation in 'info locals' command for variables shadowing case Abdul Basit Ijaz
2023-09-19 16:46 ` [PATCH v4 1/2] gdb: " Abdul Basit Ijaz
2023-10-12  9:39   ` Guinevere Larsen
2023-11-20  8:26     ` Ijaz, Abdul B
2023-11-20 10:26       ` Ijaz, Abdul B
2023-11-20 17:21         ` Guinevere Larsen
2023-11-21  8:30           ` Ijaz, Abdul B
2023-09-19 16:47 ` [PATCH v4 2/2] gdb: add shadowed field in '-stack-list-locals/variables' mi commands Abdul Basit Ijaz

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).