-
Notifications
You must be signed in to change notification settings - Fork 0
Incorporate DILLexer changes from upstream commit. #18
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Note: This test won't compile or run until the other DILLexer changes are committed (upcoming PR).
It looks like I can create PRs for our collaboration work. :-) |
Should we merge #5 first and then put these tests in |
Yes, that makes sense. :-) |
Also update all the other DIL files to use the updated Token & Lexer fields & methods appropriately. Update DILGetValueForVariableExpressionPath to create the lexer & pass it to the parser.
Whoops! I meant to create a separate PR with all the rest of my lexer/token changes (from my LLDB upstream PR), but I seem to have pushed all the changes into this PR. Is that ok? |
Yeah, might as well, just need to change the PR title to reflect this :) |
Done. |
There are some merge conflicts due to 21d4384, could you rebase this branch on |
Done. |
Now that #5 is merged, let's put the lexer unit tests in |
Hm...I'm seeing some new unittest failures now (possibly due to my lexer changes?). I need to look into those... |
Also some XFailed tests could become fixed because the changes, so they result in an error now, try removing |
This is passing all the unittests except EvalTest.TestCxxStaticCast. It's failing that with: /usr/local/google3/cmtice/access-softek-dil/lldb/unittests/DIL/DILTests.cpp:1573: Failure /usr/local/google3/cmtice/access-softek-dil/lldb/unittests/DIL/DILTests.cpp:1577: Failure I'm not sure why it's not recognizing nullptr_t as a valid type name, nor how to fix that. Do you have any ideas? If not, I'll dive into this a bit more... |
It might be worth merging this into the main branch now, and we can continue to look into the test failure after that. Just a thought. |
This is the same error I skipped with the last commit in unit tests PR. It doesn't fail on my system, so it's hard to debug. I think we can merge this PR, since I'm pretty sure the error has nothing to do with DIL, just with I have a couple of ideas though:
|
I tried including I debugged the code and found a bug in ResolveTypesByName (In DILAST.cpp): It was finding. a partial match between "std::__1::nullptr_t" and "nullptr_t", but it wasn't using/returning the partial match. I've fixed this (and uploaded the fix to this PR). I'm still getting a failure, but now the failure is just a mismatch in the error messages: [ RUN ] EvalTest.TestCxxStaticCast /usr/local/google3/cmtice/access-softek-dil/lldb/unittests/DIL/DILTests.cpp:1577: Failure /usr/local/google3/cmtice/access-softek-dil/lldb/unittests/DIL/DILTests.cpp:1604: Skipped (I do worry a bit about that last line, about the Segfault in the matcher...) |
Good catch, and with this change I realized that the command I wrote to build the test binary is linking it with the in-tree libc++ wrong, so we're still getting different libc++ versions linked. I will make another PR fixing that, we can merge this PR now.
This is just a message I wrote as a reminder why the following tests after DILTests.cpp:1604 are skipped, I'll look into it eventually. |
Upstream PR: llvm/llvm-project#123521