diff --git a/lld/ELF/MapFile.cpp b/lld/ELF/MapFile.cpp index 58ad4f3a1786..ed0961c13b91 100644 --- a/lld/ELF/MapFile.cpp +++ b/lld/ELF/MapFile.cpp @@ -52,10 +52,10 @@ template static std::vector getSymbols() { std::vector V; for (ObjFile *File : ObjFile::Instances) for (SymbolBody *B : File->getSymbols()) - if (B->File == File && !B->isSection()) - if (auto *Sym = dyn_cast(B)) - if (Sym->Section && Sym->Section->Live) - V.push_back(Sym); + if (auto *DR = dyn_cast(B)) + if (DR->File == File && !DR->isSection() && DR->Section && + DR->Section->Live) + V.push_back(DR); return V; }