[PATCH v2 0/2] Improve handling of using directives

Bruno Larsen blarsen@redhat.com
Wed Nov 16 14:13:35 GMT 2022


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 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               | 82 ++++++++++++++++++++++++--------
 gdb/dwarf2/read.c                | 25 +++++++++-
 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, 149 insertions(+), 27 deletions(-)

-- 
2.38.1



More information about the Gdb-patches mailing list