diff options
author | Rui Ueyama <ruiu@google.com> | 2015-11-12 19:42:43 +0000 |
---|---|---|
committer | Rui Ueyama <ruiu@google.com> | 2015-11-12 19:42:43 +0000 |
commit | 92ce0e9122859a8591545963d985f1ec12f5d591 (patch) | |
tree | ff0b5bf5518e547660e67f43e3da6f42130fc2f0 | |
parent | 14a06ac05edbbf2f6fb362942bbe08f75113476e (diff) | |
download | bcm5719-llvm-92ce0e9122859a8591545963d985f1ec12f5d591.tar.gz bcm5719-llvm-92ce0e9122859a8591545963d985f1ec12f5d591.zip |
ELF2: Make type a bit stricter. NFC.
llvm-svn: 252934
-rw-r--r-- | lld/ELF/MarkLive.cpp | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/lld/ELF/MarkLive.cpp b/lld/ELF/MarkLive.cpp index cc94a662f4e..a7312f5fd39 100644 --- a/lld/ELF/MarkLive.cpp +++ b/lld/ELF/MarkLive.cpp @@ -76,13 +76,14 @@ template <class ELFT> static bool isReserved(InputSectionBase<ELFT> *Sec) { } template <class ELFT> void lld::elf2::markLive(SymbolTable<ELFT> *Symtab) { - SmallVector<InputSectionBase<ELFT> *, 256> Q; + SmallVector<InputSection<ELFT> *, 256> Q; auto Enqueue = [&](InputSectionBase<ELFT> *Sec) { if (!Sec || Sec->Live) return; Sec->Live = true; - Q.push_back(Sec); + if (InputSection<ELFT> *S = dyn_cast<InputSection<ELFT>>(Sec)) + Q.push_back(S); }; auto MarkSymbol = [&](SymbolBody *Sym) { @@ -124,8 +125,7 @@ template <class ELFT> void lld::elf2::markLive(SymbolTable<ELFT> *Symtab) { // Mark all reachable sections. while (!Q.empty()) - if (auto *Sec = dyn_cast<InputSection<ELFT>>(Q.pop_back_val())) - forEachSuccessor<ELFT>(Sec, Enqueue); + forEachSuccessor<ELFT>(Q.pop_back_val(), Enqueue); } template void lld::elf2::markLive<ELF32LE>(SymbolTable<ELF32LE> *); |