Skip to content

Commit 0d2472f

Browse files
committed
[lldb/IRExecutionUnit] Stop searching based on demangled names
Summary: This was causing problems on linux, where we'd end up calling the deleting destructor instead of a regular one (because they have the same demangled name), making a lot of mischief in the process. The only place where this was necessary (according to the test suite, at least) was to call a base structor instead of a complete one, but this is now handled in a more targeted fashion. TestCallOverriddenMethod is now re-enabled as it now passes reliably. Reviewers: teemperor, JDevlieghere Subscribers: lldb-commits Tags: #lldb Differential Revision: https://reviews.llvm.org/D70722
1 parent 6e1f317 commit 0d2472f

File tree

2 files changed

+0
-3
lines changed

2 files changed

+0
-3
lines changed

lldb/packages/Python/lldbsuite/test/commands/expression/call-overridden-method/TestCallOverriddenMethod.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,6 @@ def test_call_on_derived(self):
6363
# a vtable entry that does not exist in the compiled program).
6464
self.expect("expr d.foo()", substrs=["2"])
6565

66-
@skipIfLinux # Calling constructor causes SIGABRT
6766
@expectedFailureAll(oslist=["windows"], bugnumber="llvm.org/pr43707")
6867
def test_call_on_temporary(self):
6968
"""Test calls to overridden methods in derived classes."""

lldb/source/Expression/IRExecutionUnit.cpp

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -728,8 +728,6 @@ void IRExecutionUnit::CollectCandidateCPlusPlusNames(
728728
if (best_alternate_mangled_name) {
729729
CPP_specs.push_back(best_alternate_mangled_name);
730730
}
731-
732-
CPP_specs.push_back(SearchSpec(demangled, lldb::eFunctionNameTypeFull));
733731
}
734732
}
735733

0 commit comments

Comments
 (0)