public inbox for gdb-patches@sourceware.org
 help / color / mirror / Atom feed
From: Bruno Larsen <blarsen@redhat.com>
To: gdb-patches@sourceware.org
Cc: Bruno Larsen <blarsen@redhat.com>
Subject: [PATCH v3 0/2] Improve handling of using directives
Date: Tue, 22 Nov 2022 12:33:18 +0100	[thread overview]
Message-ID: <20221122113319.1760546-1-blarsen@redhat.com> (raw)

This series tries to fix two of the main issues I saw when trying to get
gdb.cp/nsusing.exp working with clang. The first issue was that GDB
wouldn't care about when the 'using' directive happened in the code,
even if we were stopped before it, it was considered valid. The second
was that GDB would find the first reasonable variable in the imported
declarations and leave early, not caring about whether that variable was
ambiguous or not. Each of my patches fixes one of those issues.

Changelog for v3:
 * changed map key to use std::string, so we get an ordered output.
 * Improved documentation on some spots
 * Fix bug where gdb could return a partial list of the ambiguous symbols

Changelog for v2:
 * factored out some code to avoid unnecessary repetition.
 * made it so ambiguous variables are explicitly reported
 * fixed formatting issues.

Bruno Larsen (2):
  gdb/c++: validate 'using' directives based on the current line
  gdb/c++: Detect ambiguous variables in imported namespaces

 gdb/cp-namespace.c               | 99 ++++++++++++++++++++++++--------
 gdb/dwarf2/read.c                | 30 +++++++++-
 gdb/namespace.c                  | 25 ++++++++
 gdb/namespace.h                  | 16 +++++-
 gdb/testsuite/gdb.cp/nsusing.cc  |  3 +-
 gdb/testsuite/gdb.cp/nsusing.exp | 25 +++++++-
 6 files changed, 167 insertions(+), 31 deletions(-)

-- 
2.38.1


             reply	other threads:[~2022-11-22 11:51 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-11-22 11:33 Bruno Larsen [this message]
2022-11-22 11:33 ` [PATCH v3 1/2] gdb/c++: validate 'using' directives based on the current line Bruno Larsen
     [not found]   ` <CAJVr-EMEbyP4pgDk=U50p5nWrybJgFbdZ0iLCp4W6WbWJKGc9A@mail.gmail.com>
2022-12-15 13:26     ` Fwd: " Alexandra Petlanova Hajkova
2022-12-15 14:50       ` Bruno Larsen
2022-12-20 21:06   ` Tom Tromey
2022-11-22 11:33 ` [PATCH v3 2/2] gdb/c++: Detect ambiguous variables in imported namespaces Bruno Larsen
2022-12-20 21:10   ` Tom Tromey
2022-12-07 13:53 ` [PATCH v3 0/2] Improve handling of using directives Bruno Larsen
2022-12-15 10:17   ` [PINGv2][PATCH " Bruno Larsen

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=20221122113319.1760546-1-blarsen@redhat.com \
    --to=blarsen@redhat.com \
    --cc=gdb-patches@sourceware.org \
    /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).