This reverts commit 3bf96b0329be554c67282b0d7d8da6a864b9e38f. It causes crashes as reported in PR52257 and a few other places. A reproducer is bundled with this commit to verify any fix forward.
Details
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
Given that this patch has been in tree for half a year, it'd be good to get confirmation here this can be reverted given there is now a test case for causing a crash. I got an offline comment that this is OK to revert, so if nobody has objections, I'll land sometime tomorrow.
lldb/test/Shell/SymbolFile/DWARF/PR52257.cpp | ||
---|---|---|
21 ↗ | (On Diff #385670) | FWIW, I think probably should be an API test (for a bunch of reasons from not relying on formatting output to remote device testing), but given this is just a revert I won't insist on that. Thanks again! |
lldb/test/Shell/SymbolFile/DWARF/PR52257.cpp | ||
---|---|---|
21 ↗ | (On Diff #385670) | Makes sense -- this was just the easiest way to copy/paste the repro from the bug. I'll convert it to an API test when landing. |
I actually didn't see that the patch deleted the TestCppReferenceToOuterClass test. Could you just add a @skipIf # Crashes or so above its def test... method? The test itself is still valid user code that we shouldn't crash on.
I left some nits and the test source probably needs to be made a bit more expressive in terms of what's its trying to test, but this can all be done later. Let's just land this to get the regression fixed.
lldb/test/API/commands/expression/pr52257/TestExprCrash.py | ||
---|---|---|
18 | nit: self.createTestTarget() (which generates useful error messages on failure) | |
19 | nit: self.expect_expr("b", result_type="B", result_children=[ValueCheck(name="tag_set_")]) |
I assume you mean something like expectedFailure, as this should unconditionally fail.
I left some nits and the test source probably needs to be made a bit more expressive in terms of what's its trying to test, but this can all be done later. Let's just land this to get the regression fixed.
OK, retesting real quick against trunk and submitting now. Thanks!
nit: self.expect_expr("b", result_type="B", result_children=[ValueCheck(name="tag_set_")])