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

Message ID 20221116141336.1160869-1-blarsen@redhat.com
Series Improve handling of using directives |


Bruno Larsen Nov. 16, 2022, 2:13 p.m. UTC
  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(-)