LLVM Bugzilla is read-only and represents the historical archive of all LLVM issues filled before November 26, 2021. Use github to submit LLVM bugs

Bug 24489 - Name lookup in expressions not working on Windows
Summary: Name lookup in expressions not working on Windows
Status: NEW
Alias: None
Product: lldb
Classification: Unclassified
Component: All Bugs (show other bugs)
Version: unspecified
Hardware: PC Windows NT
: P normal
Assignee: LLDB commit list
URL:
Keywords:
Depends on:
Blocks: 21766
  Show dependency tree
 
Reported: 2015-08-18 12:54 PDT by Zachary Turner
Modified: 2020-11-15 08:02 PST (History)
3 users (show)

See Also:
Fixed By Commit(s):


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Zachary Turner 2015-08-18 12:54:11 PDT
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.
Comment 1 Stella Stamenova 2018-05-17 10:04:34 PDT
TestCompletion

is also failing because of this bug
Comment 2 Stella Stamenova 2018-12-19 10:58:22 PST
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
Comment 3 Zachary Turner 2018-12-19 11:04:56 PST
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.
Comment 4 Stella Stamenova 2018-12-20 16:24:47 PST
I ran the suite with LLDB_USE_NATIVE_PDB_READER=1 and I got the same results.
Comment 5 emaste 2020-11-15 08:02:09 PST
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