Name lookup for types and symbols is not working properly. This is currently causing (at a minimum) the following tests to fail. TestChar1632T.py TestRdar12991846.py TestConstVariables.py TestCallCPPFunction.py TestCallStopAndContinue.py TestCallUserDefinedFunction.py TestCModules.py TestCPPThis.py TestExprs2.py TestOverloadedFunctions.py TestRvalueReferences.py Errors can occur either when a value is cast to a specific type (as in the case of TestChar1632T.py), when a function is called (as in the case of TestCallCPPFunction.py), or in other scenarios as well. It's possible that there are multiple underlying causes for the above failures. If so, please create a separate bug for tracking the sub-issues.
TestCompletion is also failing because of this bug
Right now the following tests are marked as failing because of this bug and they are failing: TestCModules.py TestCPPThis.py TestCompletion.py TestConstVariables.py TestNamespace.py TestSignedTypes.py TestConflictingSymbol.py TestTemplateArgs.py TestExprs2.py
I'd be curious if the native pdb reader fixes any of these. I don't yet recommend running the full test suite against the native PDB reader, but it might be interesting to try running individual tests against it and see if it fixes any of them. Name lookup in expressions depends on having a high quality AST reconstruction from the debug info, and I know from the tests I've written that in the native PDB reader we do a better job of this in many cases than the DIA based PDB reader. If you're interested in trying, you can set LLDB_USE_NATIVE_PDB_READER=1 in your environment and then try a targeted run of just these tests. It would be interesting to know if it makes a difference.
I ran the suite with LLDB_USE_NATIVE_PDB_READER=1 and I got the same results.
This test is annotated with @expectedFailureAll(oslist=["freebsd", "windows"], bugnumber="llvm.org/pr24489") but is currently passing for me on FreeBSD 13 locally, and in Cirrus-CI https://cirrus-ci.com/task/6012246700589056