[DWARF] hoist nullptr checks. NFC
authorNick Desaulniers <ndesaulniers@google.com>
Mon, 20 May 2019 16:58:59 +0000 (16:58 +0000)
committerNick Desaulniers <ndesaulniers@google.com>
Mon, 20 May 2019 16:58:59 +0000 (16:58 +0000)
Summary:
This was flagged in https://www.viva64.com/en/b/0629/ under "Snippet No.
15" (see under #13). It looks like PVS studio flags nullptr checks where
the ptr is used inbetween creation and checking against nullptr.

Reviewers: JDevlieghere, probinson

Reviewed By: JDevlieghere

Subscribers: RKSimon, hiraditya, llvm-commits, srhines

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D62118

llvm-svn: 361176

llvm/lib/DebugInfo/DWARF/DWARFFormValue.cpp

index 8f2524246a861cf5a7c8af90218b4cc22f6eded2..b3e4c911b5aef782570e5afbedd5c5f4cf5a1b6b 100644 (file)
@@ -401,12 +401,14 @@ void DWARFFormValue::dump(raw_ostream &OS, DIDumpOptions DumpOpts) const {
   case DW_FORM_addrx3:
   case DW_FORM_addrx4:
   case DW_FORM_GNU_addr_index: {
+    if (U == nullptr) {
+      OS << "<invalid dwarf unit>";
+      break;
+    }
     Optional<object::SectionedAddress> A = U->getAddrOffsetSectionItem(UValue);
     if (!A || DumpOpts.Verbose)
       AddrOS << format("indexed (%8.8x) address = ", (uint32_t)UValue);
-    if (U == nullptr)
-      OS << "<invalid dwarf unit>";
-    else if (A)
+    if (A)
       dumpSectionedAddress(AddrOS, DumpOpts, *A);
     else
       OS << "<no .debug_addr section>";