summaryrefslogtreecommitdiffstats
path: root/lldb/source/Expression
diff options
context:
space:
mode:
authorSean Callanan <scallanan@apple.com>2012-08-01 18:50:59 +0000
committerSean Callanan <scallanan@apple.com>2012-08-01 18:50:59 +0000
commit7e6d4e5a11074535916669f83f5894ac0af495c8 (patch)
tree20b1891196c4bf276af620f43cfce844187f1e06 /lldb/source/Expression
parent24c19d20c0351903e3b72362b94941628b821f92 (diff)
downloadbcm5719-llvm-7e6d4e5a11074535916669f83f5894ac0af495c8.tar.gz
bcm5719-llvm-7e6d4e5a11074535916669f83f5894ac0af495c8.zip
Instructions generated by a disassembler can now
keep a shared pointer to their disassembler. This is important for the LLVM-C disassembler because it needs to lock its parent in order to disassemble itself. This means that every interface that returned a Disassembler* needs to return a DisassemblerSP, so that the instructions and any external owners share the same reference count on the object. I changed all clients to use this shared pointer, which also plugged a few leaks. <rdar://problem/12002822> llvm-svn: 161123
Diffstat (limited to 'lldb/source/Expression')
-rw-r--r--lldb/source/Expression/ClangExpressionParser.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/lldb/source/Expression/ClangExpressionParser.cpp b/lldb/source/Expression/ClangExpressionParser.cpp
index b2940def558..22fae9112b8 100644
--- a/lldb/source/Expression/ClangExpressionParser.cpp
+++ b/lldb/source/Expression/ClangExpressionParser.cpp
@@ -754,7 +754,7 @@ ClangExpressionParser::DisassembleFunction (Stream &stream, ExecutionContext &ex
ArchSpec arch(target->GetArchitecture());
- Disassembler *disassembler = Disassembler::FindPlugin(arch, NULL);
+ lldb::DisassemblerSP disassembler = Disassembler::FindPlugin(arch, NULL);
if (disassembler == NULL)
{
OpenPOWER on IntegriCloud