[Lldb-commits] [PATCH] D147436: [lldb][ClangExpression] Filter out non-root namespaces in FindNamespace
Michael Buch via Phabricator via lldb-commits
lldb-commits at lists.llvm.org
Mon Apr 3 17:43:18 PDT 2023
Michael137 added inline comments.
================
Comment at: lldb/test/API/lang/cpp/namespace/TestNamespaceLookup.py:197
+ # FIXME: under C++ rules this should call A::B::func() since we imported namespace 'A'
+ self.expect("expr B::func()", error=True, substrs=["no member named 'func' in namespace 'B'"])
----------------
Michael137 wrote:
> I need to double check how exactly this used to work and whether there's a fix for it on top of the current patch. But not supporting this seems less problematic than choosing the wrong namespace
I checked how expression evaluation currently works at namespace scope and it does rely on `FindExternalVisibleDecls` including all namespaces (not only top-level) in its search. We do the additional filtering for which function symbol to pick based on SymbolContext after the fact (in `LookupFunction`). This seems rather fragile but there is a decent amount of code to make this happen so I wouldn't want to just blindly stop supporting it.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D147436/new/
https://reviews.llvm.org/D147436
More information about the lldb-commits
mailing list