aboutsummaryrefslogtreecommitdiff
path: root/source/Breakpoint
diff options
context:
space:
mode:
authorGreg Clayton <gclayton@apple.com>2011-01-27 06:44:37 +0000
committerGreg Clayton <gclayton@apple.com>2011-01-27 06:44:37 +0000
commit28d5fcc3158aebf543e0f3d0a3608c1746f5ef15 (patch)
tree0673ca6b32cbdf3be1520a9b678a3b5d8e0f3434 /source/Breakpoint
parentd5b3c351ea23e8e36d47056e50b1df773ae9050a (diff)
downloadlldb-28d5fcc3158aebf543e0f3d0a3608c1746f5ef15.tar.gz
Changed the SymbolFile::FindFunction() function calls to only return
lldb_private::Function objects. Previously the SymbolFileSymtab subclass would return lldb_private::Symbol objects when it was asked to find functions. The Module::FindFunctions (...) now take a boolean "bool include_symbols" so that the module can track down functions and symbols, yet functions are found by the SymbolFile plug-ins (through the SymbolVendor class), and symbols are gotten through the ObjectFile plug-ins. Fixed and issue where the DWARF parser might run into incomplete class member function defintions which would make clang mad when we tried to make certain member functions with invalid number of parameters (such as an operator= operator that had no parameters). Now we just avoid and don't complete these incomplete functions. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@124359 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'source/Breakpoint')
-rw-r--r--source/Breakpoint/BreakpointResolverName.cpp13
1 files changed, 11 insertions, 2 deletions
diff --git a/source/Breakpoint/BreakpointResolverName.cpp b/source/Breakpoint/BreakpointResolverName.cpp
index 0914e12ee..f244e3b56 100644
--- a/source/Breakpoint/BreakpointResolverName.cpp
+++ b/source/Breakpoint/BreakpointResolverName.cpp
@@ -155,6 +155,8 @@ BreakpointResolverName::SearchCallback
return Searcher::eCallbackReturnStop;
}
+ const bool include_symbols = false;
+ const bool append = false;
switch (m_match_type)
{
case Breakpoint::Exact:
@@ -162,14 +164,21 @@ BreakpointResolverName::SearchCallback
{
if (m_func_name_type_mask & (eFunctionNameTypeBase | eFunctionNameTypeFull))
context.module_sp->FindSymbolsWithNameAndType (m_func_name, eSymbolTypeCode, sym_list);
- context.module_sp->FindFunctions (m_func_name, m_func_name_type_mask, false, func_list);
+ context.module_sp->FindFunctions (m_func_name,
+ m_func_name_type_mask,
+ include_symbols,
+ append,
+ func_list);
}
break;
case Breakpoint::Regexp:
if (context.module_sp)
{
context.module_sp->FindSymbolsMatchingRegExAndType (m_regex, eSymbolTypeCode, sym_list);
- context.module_sp->FindFunctions (m_regex, true, func_list);
+ context.module_sp->FindFunctions (m_regex,
+ include_symbols,
+ append,
+ func_list);
}
break;
case Breakpoint::Glob: