diff options
author | Jim Ingham <jingham@apple.com> | 2012-10-12 17:34:26 +0000 |
---|---|---|
committer | Jim Ingham <jingham@apple.com> | 2012-10-12 17:34:26 +0000 |
commit | 28eb57114d05dd100d9b4a56e0a00be85cd09e3b (patch) | |
tree | 61467023c9112981c8ff375d429b244c7b95c475 /lldb/source/Expression | |
parent | e87f41f43e5d5dafa5794a1f78c849a774ea989a (diff) | |
download | bcm5719-llvm-28eb57114d05dd100d9b4a56e0a00be85cd09e3b.tar.gz bcm5719-llvm-28eb57114d05dd100d9b4a56e0a00be85cd09e3b.zip |
Bunch of cleanups for warnings found by the llvm static analyzer.
llvm-svn: 165808
Diffstat (limited to 'lldb/source/Expression')
-rw-r--r-- | lldb/source/Expression/ClangExpressionDeclMap.cpp | 12 | ||||
-rw-r--r-- | lldb/source/Expression/ClangExpressionParser.cpp | 1 | ||||
-rw-r--r-- | lldb/source/Expression/ClangUserExpression.cpp | 2 | ||||
-rw-r--r-- | lldb/source/Expression/IRForTarget.cpp | 18 |
4 files changed, 21 insertions, 12 deletions
diff --git a/lldb/source/Expression/ClangExpressionDeclMap.cpp b/lldb/source/Expression/ClangExpressionDeclMap.cpp index 5166300083d..5a575bd8303 100644 --- a/lldb/source/Expression/ClangExpressionDeclMap.cpp +++ b/lldb/source/Expression/ClangExpressionDeclMap.cpp @@ -117,12 +117,14 @@ ClangExpressionDeclMap::DidParse() ++entity_index) { ClangExpressionVariableSP var_sp(m_found_entities.GetVariableAtIndex(entity_index)); - if (var_sp && - var_sp->m_parser_vars.get() && - var_sp->m_parser_vars->m_lldb_value) + if (var_sp) + { + if (var_sp->m_parser_vars.get() && + var_sp->m_parser_vars->m_lldb_value) delete var_sp->m_parser_vars->m_lldb_value; - var_sp->DisableParserVars(); + var_sp->DisableParserVars(); + } } for (size_t pvar_index = 0, num_pvars = m_parser_vars->m_persistent_vars->GetSize(); @@ -2706,7 +2708,7 @@ ClangExpressionDeclMap::FindExternalVisibleDecls (NameSearchContext &context, append, sc_list); } - else if (!namespace_decl) + else if (target && !namespace_decl) { const bool include_symbols = true; diff --git a/lldb/source/Expression/ClangExpressionParser.cpp b/lldb/source/Expression/ClangExpressionParser.cpp index 1bf791bfc08..3d82b125d35 100644 --- a/lldb/source/Expression/ClangExpressionParser.cpp +++ b/lldb/source/Expression/ClangExpressionParser.cpp @@ -755,6 +755,7 @@ ClangExpressionParser::DisassembleFunction (Stream &stream, ExecutionContext &ex { ret.SetErrorToGenericError(); ret.SetErrorString("Couldn't find the target"); + return ret; } lldb::DataBufferSP buffer_sp(new DataBufferHeap(func_range.second, 0)); diff --git a/lldb/source/Expression/ClangUserExpression.cpp b/lldb/source/Expression/ClangUserExpression.cpp index 877c8d7cabc..c037d0238f9 100644 --- a/lldb/source/Expression/ClangUserExpression.cpp +++ b/lldb/source/Expression/ClangUserExpression.cpp @@ -552,7 +552,7 @@ ClangUserExpression::Execute (Stream &error_stream, if (m_jit_start_addr != LLDB_INVALID_ADDRESS) { - lldb::addr_t struct_address; + lldb::addr_t struct_address = LLDB_INVALID_ADDRESS; lldb::addr_t object_ptr = 0; lldb::addr_t cmd_ptr = 0; diff --git a/lldb/source/Expression/IRForTarget.cpp b/lldb/source/Expression/IRForTarget.cpp index 02b901d469c..e0342c995ce 100644 --- a/lldb/source/Expression/IRForTarget.cpp +++ b/lldb/source/Expression/IRForTarget.cpp @@ -78,11 +78,14 @@ static std::string PrintValue(const Value *value, bool truncate = false) { std::string s; - raw_string_ostream rso(s); - value->print(rso); - rso.flush(); - if (truncate) - s.resize(s.length() - 1); + if (value) + { + raw_string_ostream rso(s); + value->print(rso); + rso.flush(); + if (truncate) + s.resize(s.length() - 1); + } return s; } @@ -238,7 +241,7 @@ IRForTarget::GetFunctionAddress (llvm::Function *fun, // Check for an alternate mangling for "std::basic_string<char>" // that is part of the itanium C++ name mangling scheme const char *name_cstr = name.GetCString(); - if (strncmp(name_cstr, "_ZNKSbIcE", strlen("_ZNKSbIcE")) == 0) + if (name_cstr && strncmp(name_cstr, "_ZNKSbIcE", strlen("_ZNKSbIcE")) == 0) { std::string alternate_mangling("_ZNKSs"); alternate_mangling.append (name_cstr + strlen("_ZNKSbIcE")); @@ -492,6 +495,9 @@ IRForTarget::MaybeSetCastResult (lldb_private::TypeFromParser type) } } + if (!original_load) + return; + Value *loaded_value = original_load->getPointerOperand(); GlobalVariable *loaded_global = dyn_cast<GlobalVariable>(loaded_value); |