[Lldb-commits] [PATCH] D131850: [LLDB][NFC] Reliability Fixes for FormatEntity

Slava Gurevich via Phabricator via lldb-commits lldb-commits at lists.llvm.org
Mon Aug 15 08:35:00 PDT 2022


fixathon created this revision.
fixathon added reviewers: clayborg, JDevlieghere, DavidSpickett, jasonmolenda.
Herald added a project: All.
fixathon published this revision for review.
fixathon added inline comments.
Herald added a project: LLDB.
Herald added a subscriber: lldb-commits.


================
Comment at: lldb/source/Core/FormatEntity.cpp:714-715
 
-  if (valobj == nullptr)
-    return false;
-
----------------
This null-check is unreachable and redundant. valobj is already completely null-checked at lines 675 and 705. 


================
Comment at: lldb/source/Core/FormatEntity.cpp:1695
               if (var_value_sp->GetCompilerType().IsValid()) {
-                if (var_value_sp && exe_scope->CalculateTarget())
+                if (exe_scope && exe_scope->CalculateTarget())
                   var_value_sp =
----------------
Checking var_value_sp for null here is moot; it's already dereferenced in the preceding line. However, exe_scope does require a null-check here, and from the context, it appears that was the original intent thwarted by a typo.


- Remove dead code
- Fix incorrect null-reference check


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D131850

Files:
  lldb/source/Core/FormatEntity.cpp


Index: lldb/source/Core/FormatEntity.cpp
===================================================================
--- lldb/source/Core/FormatEntity.cpp
+++ lldb/source/Core/FormatEntity.cpp
@@ -711,9 +711,6 @@
     return false;
   }
 
-  if (valobj == nullptr)
-    return false;
-
   ValueObject::ExpressionPathAftermath what_next =
       (do_deref_pointer ? ValueObject::eExpressionPathAftermathDereference
                         : ValueObject::eExpressionPathAftermathNothing);
@@ -1695,7 +1692,7 @@
               llvm::StringRef var_representation;
               const char *var_name = var_value_sp->GetName().GetCString();
               if (var_value_sp->GetCompilerType().IsValid()) {
-                if (var_value_sp && exe_scope->CalculateTarget())
+                if (exe_scope && exe_scope->CalculateTarget())
                   var_value_sp =
                       var_value_sp->GetQualifiedRepresentationIfAvailable(
                           exe_scope->CalculateTarget()


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D131850.452490.patch
Type: text/x-patch
Size: 990 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/lldb-commits/attachments/20220815/cd13ef67/attachment.bin>


More information about the lldb-commits mailing list