summaryrefslogtreecommitdiffstats
path: root/lldb/source/Core
diff options
context:
space:
mode:
Diffstat (limited to 'lldb/source/Core')
-rw-r--r--lldb/source/Core/Address.cpp2
-rw-r--r--lldb/source/Core/AddressResolverFileLine.cpp2
-rw-r--r--lldb/source/Core/AddressResolverName.cpp4
-rw-r--r--lldb/source/Core/ConstString.cpp12
-rw-r--r--lldb/source/Core/Debugger.cpp5
-rw-r--r--lldb/source/Core/Disassembler.cpp1
-rw-r--r--lldb/source/Core/FileLineResolver.cpp1
-rw-r--r--lldb/source/Core/Module.cpp3
-rw-r--r--lldb/source/Core/ModuleList.cpp1
-rw-r--r--lldb/source/Core/SearchFilter.cpp40
-rw-r--r--lldb/source/Core/SourceManager.cpp3
-rw-r--r--lldb/source/Core/ValueObject.cpp1
-rw-r--r--lldb/source/Core/ValueObjectVariable.cpp1
13 files changed, 57 insertions, 19 deletions
diff --git a/lldb/source/Core/Address.cpp b/lldb/source/Core/Address.cpp
index d9ff36ecd40..2edd52f39b6 100644
--- a/lldb/source/Core/Address.cpp
+++ b/lldb/source/Core/Address.cpp
@@ -10,7 +10,9 @@
#include "lldb/Core/Address.h"
#include "lldb/Core/Module.h"
#include "lldb/Core/Section.h"
+#include "lldb/Symbol/Block.h"
#include "lldb/Symbol/ObjectFile.h"
+#include "lldb/Symbol/Type.h"
#include "lldb/Symbol/Variable.h"
#include "lldb/Symbol/VariableList.h"
#include "lldb/Target/ExecutionContext.h"
diff --git a/lldb/source/Core/AddressResolverFileLine.cpp b/lldb/source/Core/AddressResolverFileLine.cpp
index 0da1feb51fc..9300f90dbc4 100644
--- a/lldb/source/Core/AddressResolverFileLine.cpp
+++ b/lldb/source/Core/AddressResolverFileLine.cpp
@@ -12,6 +12,8 @@
// Project includes
#include "lldb/Core/Log.h"
#include "lldb/Core/StreamString.h"
+#include "lldb/Symbol/CompileUnit.h"
+#include "lldb/Symbol/SymbolContext.h"
#include "lldb/lldb-private-log.h"
using namespace lldb;
diff --git a/lldb/source/Core/AddressResolverName.cpp b/lldb/source/Core/AddressResolverName.cpp
index f1874202fec..3e7c373998b 100644
--- a/lldb/source/Core/AddressResolverName.cpp
+++ b/lldb/source/Core/AddressResolverName.cpp
@@ -11,8 +11,12 @@
// Project includes
#include "lldb/Core/Log.h"
+#include "lldb/Core/Module.h"
#include "lldb/Core/StreamString.h"
#include "lldb/Symbol/ClangNamespaceDecl.h"
+#include "lldb/Symbol/Function.h"
+#include "lldb/Symbol/SymbolContext.h"
+#include "lldb/Symbol/Symbol.h"
#include "lldb/lldb-private-log.h"
using namespace lldb;
diff --git a/lldb/source/Core/ConstString.cpp b/lldb/source/Core/ConstString.cpp
index 720514bd52c..d82bc61fa91 100644
--- a/lldb/source/Core/ConstString.cpp
+++ b/lldb/source/Core/ConstString.cpp
@@ -100,6 +100,18 @@ public:
}
const char *
+ GetConstCStringWithStringRef (const llvm::StringRef &string_ref)
+ {
+ if (string_ref.data())
+ {
+ Mutex::Locker locker (m_mutex);
+ StringPoolEntryType& entry = m_string_map.GetOrCreateValue (string_ref, (StringPoolValueType)NULL);
+ return entry.getKeyData();
+ }
+ return NULL;
+ }
+
+ const char *
GetConstCStringAndSetMangledCounterPart (const char *demangled_cstr, const char *mangled_ccstr)
{
if (demangled_cstr)
diff --git a/lldb/source/Core/Debugger.cpp b/lldb/source/Core/Debugger.cpp
index 23fbbadbace..57f63e8f454 100644
--- a/lldb/source/Core/Debugger.cpp
+++ b/lldb/source/Core/Debugger.cpp
@@ -19,6 +19,7 @@
#include "lldb/Core/DataVisualization.h"
#include "lldb/Core/FormatManager.h"
#include "lldb/Core/InputReader.h"
+#include "lldb/Core/Module.h"
#include "lldb/Core/RegisterValue.h"
#include "lldb/Core/State.h"
#include "lldb/Core/StreamAsynchronousIO.h"
@@ -31,6 +32,10 @@
#include "lldb/Interpreter/CommandInterpreter.h"
#include "lldb/Interpreter/OptionValueSInt64.h"
#include "lldb/Interpreter/OptionValueString.h"
+#include "lldb/Symbol/ClangASTContext.h"
+#include "lldb/Symbol/CompileUnit.h"
+#include "lldb/Symbol/Function.h"
+#include "lldb/Symbol/Symbol.h"
#include "lldb/Symbol/VariableList.h"
#include "lldb/Target/TargetList.h"
#include "lldb/Target/Process.h"
diff --git a/lldb/source/Core/Disassembler.cpp b/lldb/source/Core/Disassembler.cpp
index 6b6b6eeeddc..124fc4ac194 100644
--- a/lldb/source/Core/Disassembler.cpp
+++ b/lldb/source/Core/Disassembler.cpp
@@ -29,6 +29,7 @@
#include "lldb/Interpreter/OptionValueString.h"
#include "lldb/Interpreter/OptionValueUInt64.h"
#include "lldb/Symbol/ClangNamespaceDecl.h"
+#include "lldb/Symbol/Function.h"
#include "lldb/Symbol/ObjectFile.h"
#include "lldb/Target/ExecutionContext.h"
#include "lldb/Target/Process.h"
diff --git a/lldb/source/Core/FileLineResolver.cpp b/lldb/source/Core/FileLineResolver.cpp
index 8d68df2929b..59a875cf68b 100644
--- a/lldb/source/Core/FileLineResolver.cpp
+++ b/lldb/source/Core/FileLineResolver.cpp
@@ -13,6 +13,7 @@
#include "lldb/lldb-private-log.h"
#include "lldb/Core/Log.h"
#include "lldb/Core/StreamString.h"
+#include "lldb/Symbol/CompileUnit.h"
#include "lldb/Symbol/LineTable.h"
using namespace lldb;
diff --git a/lldb/source/Core/Module.cpp b/lldb/source/Core/Module.cpp
index b3fac25a7c4..781853088f1 100644
--- a/lldb/source/Core/Module.cpp
+++ b/lldb/source/Core/Module.cpp
@@ -12,11 +12,14 @@
#include "lldb/Core/DataBufferHeap.h"
#include "lldb/Core/Log.h"
#include "lldb/Core/ModuleList.h"
+#include "lldb/Core/ModuleSpec.h"
#include "lldb/Core/RegularExpression.h"
+#include "lldb/Core/Section.h"
#include "lldb/Core/StreamString.h"
#include "lldb/Core/Timer.h"
#include "lldb/Host/Host.h"
#include "lldb/lldb-private-log.h"
+#include "lldb/Symbol/CompileUnit.h"
#include "lldb/Symbol/ObjectFile.h"
#include "lldb/Symbol/SymbolContext.h"
#include "lldb/Symbol/SymbolVendor.h"
diff --git a/lldb/source/Core/ModuleList.cpp b/lldb/source/Core/ModuleList.cpp
index 5507428c53e..657ee693457 100644
--- a/lldb/source/Core/ModuleList.cpp
+++ b/lldb/source/Core/ModuleList.cpp
@@ -15,6 +15,7 @@
// Project includes
#include "lldb/Core/Log.h"
#include "lldb/Core/Module.h"
+#include "lldb/Core/ModuleSpec.h"
#include "lldb/Host/Host.h"
#include "lldb/Host/Symbols.h"
#include "lldb/Symbol/ClangNamespaceDecl.h"
diff --git a/lldb/source/Core/SearchFilter.cpp b/lldb/source/Core/SearchFilter.cpp
index 9256899f196..60f7dbbe2a7 100644
--- a/lldb/source/Core/SearchFilter.cpp
+++ b/lldb/source/Core/SearchFilter.cpp
@@ -14,6 +14,8 @@
#include "lldb/lldb-private.h"
#include "lldb/Core/SearchFilter.h"
+#include "lldb/Core/Module.h"
+#include "lldb/Symbol/CompileUnit.h"
#include "lldb/Target/Target.h"
using namespace lldb;
@@ -368,26 +370,25 @@ SearchFilterByModule::ModulePasses (const ModuleSP &module_sp)
bool
SearchFilterByModule::ModulePasses (const FileSpec &spec)
{
- if (FileSpec::Compare(spec, m_module_spec, false) == 0)
- return true;
- else
- return false;
+ // Do a full match only if "spec" has a directory
+ const bool full_match = spec.GetDirectory();
+ return FileSpec::Equal(spec, m_module_spec, full_match);
}
bool
-SearchFilterByModule::SymbolContextPasses
-(
- const SymbolContext &context,
- lldb::SymbolContextItem scope
- )
+SearchFilterByModule::SymbolContextPasses (const SymbolContext &sc,
+ lldb::SymbolContextItem scope)
{
- if (!(scope & eSymbolContextModule))
- return false;
-
- if (context.module_sp && FileSpec::Compare (context.module_sp->GetFileSpec(), m_module_spec, false) == 0)
- return true;
- else
- return false;
+ if (scope & eSymbolContextModule)
+ {
+ if (sc.module_sp)
+ {
+ // Match the full path only if "m_module_spec" has a directory
+ const bool full_match = m_module_spec.GetDirectory();
+ return FileSpec::Equal (sc.module_sp->GetFileSpec(), m_module_spec, full_match);
+ }
+ }
+ return false;
}
bool
@@ -434,7 +435,8 @@ SearchFilterByModule::Search (Searcher &searcher)
for (size_t i = 0; i < num_modules; i++)
{
Module* module = target_modules.GetModulePointerAtIndexUnlocked(i);
- if (FileSpec::Compare (m_module_spec, module->GetFileSpec(), false) == 0)
+ const bool full_match = m_module_spec.GetDirectory();
+ if (FileSpec::Equal (m_module_spec, module->GetFileSpec(), full_match))
{
SymbolContext matchingContext(m_target_sp, module->shared_from_this());
Searcher::CallbackReturn shouldContinue;
@@ -723,7 +725,7 @@ SearchFilterByModuleListAndCU::SymbolContextPasses
return false;
if (!(scope & eSymbolContextCompUnit))
return false;
- if (context.comp_unit && m_cu_spec_list.FindFileIndex(0, static_cast<FileSpec>(context.comp_unit), false) == UINT32_MAX)
+ if (context.comp_unit && m_cu_spec_list.FindFileIndex(0, context.comp_unit, false) == UINT32_MAX)
return false;
return true;
}
@@ -745,7 +747,7 @@ SearchFilterByModuleListAndCU::CompUnitPasses (FileSpec &fileSpec)
bool
SearchFilterByModuleListAndCU::CompUnitPasses (CompileUnit &compUnit)
{
- return m_cu_spec_list.FindFileIndex(0, static_cast<FileSpec>(compUnit), false) != UINT32_MAX;
+ return m_cu_spec_list.FindFileIndex(0, compUnit, false) != UINT32_MAX;
}
void
diff --git a/lldb/source/Core/SourceManager.cpp b/lldb/source/Core/SourceManager.cpp
index 849c8243e1a..a967b358cb7 100644
--- a/lldb/source/Core/SourceManager.cpp
+++ b/lldb/source/Core/SourceManager.cpp
@@ -15,8 +15,11 @@
// Project includes
#include "lldb/Core/DataBuffer.h"
#include "lldb/Core/Debugger.h"
+#include "lldb/Core/Module.h"
#include "lldb/Core/Stream.h"
#include "lldb/Symbol/ClangNamespaceDecl.h"
+#include "lldb/Symbol/CompileUnit.h"
+#include "lldb/Symbol/Function.h"
#include "lldb/Symbol/SymbolContext.h"
#include "lldb/Target/Target.h"
diff --git a/lldb/source/Core/ValueObject.cpp b/lldb/source/Core/ValueObject.cpp
index 8016bab3d2e..ed370e66c12 100644
--- a/lldb/source/Core/ValueObject.cpp
+++ b/lldb/source/Core/ValueObject.cpp
@@ -22,6 +22,7 @@
#include "lldb/Core/DataVisualization.h"
#include "lldb/Core/Debugger.h"
#include "lldb/Core/Log.h"
+#include "lldb/Core/Module.h"
#include "lldb/Core/StreamString.h"
#include "lldb/Core/ValueObjectChild.h"
#include "lldb/Core/ValueObjectConstResult.h"
diff --git a/lldb/source/Core/ValueObjectVariable.cpp b/lldb/source/Core/ValueObjectVariable.cpp
index d71ec97ce3c..20a4af078ee 100644
--- a/lldb/source/Core/ValueObjectVariable.cpp
+++ b/lldb/source/Core/ValueObjectVariable.cpp
@@ -18,6 +18,7 @@
#include "lldb/Core/ValueObjectList.h"
#include "lldb/Core/Value.h"
+#include "lldb/Symbol/Function.h"
#include "lldb/Symbol/ObjectFile.h"
#include "lldb/Symbol/SymbolContext.h"
#include "lldb/Symbol/SymbolContextScope.h"
OpenPOWER on IntegriCloud