https://github.com/Michael137 created https://github.com/llvm/llvm-project/pull/149490
The only place that passes a target to `LoadAddressResolver` already checks for pointer validity. And inside of the resolver we have been dereferencing the target anyway without nullptr checks. So codify the non-nullness of `m_target` by making it a reference. >From d2fc82aeac368269c8f00e1b05a0ccc4dd57834f Mon Sep 17 00:00:00 2001 From: Michael Buch <michaelbuc...@gmail.com> Date: Fri, 18 Jul 2025 11:10:09 +0100 Subject: [PATCH] [lldb][Expression][NFC] Make LoadAddressResolver::m_target a reference The only place that passes a target to `LoadAddressResolver` already checks for pointer validity. And inside of the resolver we have been dereferencing the target anyway without nullptr checks. So codify the non-nullness of `m_target` by making it a reference. --- lldb/source/Expression/IRExecutionUnit.cpp | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/lldb/source/Expression/IRExecutionUnit.cpp b/lldb/source/Expression/IRExecutionUnit.cpp index e445fa8833022..6f812b91a8b1d 100644 --- a/lldb/source/Expression/IRExecutionUnit.cpp +++ b/lldb/source/Expression/IRExecutionUnit.cpp @@ -700,7 +700,7 @@ void IRExecutionUnit::CollectCandidateCPlusPlusNames( class LoadAddressResolver { public: - LoadAddressResolver(Target *target, bool &symbol_was_missing_weak) + LoadAddressResolver(Target &target, bool &symbol_was_missing_weak) : m_target(target), m_symbol_was_missing_weak(symbol_was_missing_weak) {} std::optional<lldb::addr_t> Resolve(SymbolContextList &sc_list) { @@ -722,11 +722,11 @@ class LoadAddressResolver { // First try the symbol. if (candidate_sc.symbol) { - load_address = candidate_sc.symbol->ResolveCallableAddress(*m_target); + load_address = candidate_sc.symbol->ResolveCallableAddress(m_target); if (load_address == LLDB_INVALID_ADDRESS) { Address addr = candidate_sc.symbol->GetAddress(); - load_address = m_target->GetProcessSP() - ? addr.GetLoadAddress(m_target) + load_address = m_target.GetProcessSP() + ? addr.GetLoadAddress(&m_target) : addr.GetFileAddress(); } } @@ -734,8 +734,8 @@ class LoadAddressResolver { // If that didn't work, try the function. if (load_address == LLDB_INVALID_ADDRESS && candidate_sc.function) { Address addr = candidate_sc.function->GetAddress(); - load_address = m_target->GetProcessSP() ? addr.GetLoadAddress(m_target) - : addr.GetFileAddress(); + load_address = m_target.GetProcessSP() ? addr.GetLoadAddress(&m_target) + : addr.GetFileAddress(); } // We found a load address. @@ -766,7 +766,7 @@ class LoadAddressResolver { } private: - Target *m_target; + Target &m_target; bool &m_symbol_was_missing_weak; lldb::addr_t m_best_internal_load_address = LLDB_INVALID_ADDRESS; }; @@ -790,7 +790,7 @@ IRExecutionUnit::FindInSymbols(const std::vector<ConstString> &names, for (size_t i = 0; i < m_preferred_modules.GetSize(); ++i) non_local_images.Remove(m_preferred_modules.GetModuleAtIndex(i)); - LoadAddressResolver resolver(target, symbol_was_missing_weak); + LoadAddressResolver resolver(*target, symbol_was_missing_weak); ModuleFunctionSearchOptions function_options; function_options.include_symbols = true; _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits