forked from OSchip/llvm-project
[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
This commit is contained in:
parent
6e1f3170e0
commit
0d2472ff6f
|
@ -63,7 +63,6 @@ class ExprCommandCallOverriddenMethod(TestBase):
|
|||
# a vtable entry that does not exist in the compiled program).
|
||||
self.expect("expr d.foo()", substrs=["2"])
|
||||
|
||||
@skipIfLinux # Calling constructor causes SIGABRT
|
||||
@expectedFailureAll(oslist=["windows"], bugnumber="llvm.org/pr43707")
|
||||
def test_call_on_temporary(self):
|
||||
"""Test calls to overridden methods in derived classes."""
|
||||
|
|
|
@ -728,8 +728,6 @@ void IRExecutionUnit::CollectCandidateCPlusPlusNames(
|
|||
if (best_alternate_mangled_name) {
|
||||
CPP_specs.push_back(best_alternate_mangled_name);
|
||||
}
|
||||
|
||||
CPP_specs.push_back(SearchSpec(demangled, lldb::eFunctionNameTypeFull));
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue