summaryrefslogtreecommitdiffstats
path: root/lldb/source/Core/ModuleList.cpp
diff options
context:
space:
mode:
authorSean Callanan <scallanan@apple.com>2010-07-27 00:55:47 +0000
committerSean Callanan <scallanan@apple.com>2010-07-27 00:55:47 +0000
commit8ade104a0a10442b83347e21da001f0a26a73785 (patch)
tree0894b3f7eee5ad6b9d3b0e0b28e90b39f5a092c4 /lldb/source/Core/ModuleList.cpp
parentce3a8293a0473078fa29178a00f2dc7945438572 (diff)
downloadbcm5719-llvm-8ade104a0a10442b83347e21da001f0a26a73785.tar.gz
bcm5719-llvm-8ade104a0a10442b83347e21da001f0a26a73785.zip
Changed SymbolContext so when you search for functions
it returns a list of functions as a SymbolContextList. Rewrote the clients of SymbolContext to use this SymbolContextList. Rewrote some of the providers of the data to SymbolContext to make them respect preferences as to whether the list should be cleared first; propagated that change out. ClangExpressionDeclMap and ClangASTSource use this new function list to properly generate function definitions - even for functions that don't have a prototype in the debug information. llvm-svn: 109476
Diffstat (limited to 'lldb/source/Core/ModuleList.cpp')
-rw-r--r--lldb/source/Core/ModuleList.cpp7
1 files changed, 5 insertions, 2 deletions
diff --git a/lldb/source/Core/ModuleList.cpp b/lldb/source/Core/ModuleList.cpp
index ae9bb880a20..1c974c87120 100644
--- a/lldb/source/Core/ModuleList.cpp
+++ b/lldb/source/Core/ModuleList.cpp
@@ -126,15 +126,18 @@ ModuleList::GetModuleAtIndex(uint32_t idx)
}
size_t
-ModuleList::FindFunctions (const ConstString &name, uint32_t name_type_mask, SymbolContextList &sc_list)
+ModuleList::FindFunctions (const ConstString &name, uint32_t name_type_mask, bool append, SymbolContextList &sc_list)
{
- sc_list.Clear();
+ if (!append)
+ sc_list.Clear();
+
Mutex::Locker locker(m_modules_mutex);
collection::const_iterator pos, end = m_modules.end();
for (pos = m_modules.begin(); pos != end; ++pos)
{
(*pos)->FindFunctions (name, name_type_mask, true, sc_list);
}
+
return sc_list.GetSize();
}
OpenPOWER on IntegriCloud