public inbox for gdb-patches@sourceware.org
 help / color / mirror / Atom feed
From: Abdul Basit Ijaz <abdul.b.ijaz@intel.com>
To: gdb-patches@sourceware.org
Cc: pedro@palves.net, philippe.waroquiers@skynet.be,
	aburgess@redhat.com, tankut.baris.aktemur@intel.com,
	christina.schimpe@intel.com, lsix@lancelotsix.com, "Ijaz,
	Abdul B" <abdul.b.ijaz@intel.com>
Subject: [PATCH v4 0/2] add annotation in 'info locals' command for variables shadowing case
Date: Tue, 19 Sep 2023 18:46:58 +0200	[thread overview]
Message-ID: <20230919164700.19891-1-abdul.b.ijaz@intel.com> (raw)

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


             reply	other threads:[~2023-09-19 16:47 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-09-19 16:46 Abdul Basit Ijaz [this message]
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

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20230919164700.19891-1-abdul.b.ijaz@intel.com \
    --to=abdul.b.ijaz@intel.com \
    --cc=aburgess@redhat.com \
    --cc=christina.schimpe@intel.com \
    --cc=gdb-patches@sourceware.org \
    --cc=lsix@lancelotsix.com \
    --cc=pedro@palves.net \
    --cc=philippe.waroquiers@skynet.be \
    --cc=tankut.baris.aktemur@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).