[lld] r349850 - Simplify. NFC.
Rui Ueyama via llvm-commits
llvm-commits at lists.llvm.org
Thu Dec 20 14:54:41 PST 2018
Author: ruiu
Date: Thu Dec 20 14:54:41 2018
New Revision: 349850
URL: http://llvm.org/viewvc/llvm-project?rev=349850&view=rev
Log:
Simplify. NFC.
Modified:
lld/trunk/ELF/SymbolTable.cpp
Modified: lld/trunk/ELF/SymbolTable.cpp
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/ELF/SymbolTable.cpp?rev=349850&r1=349849&r2=349850&view=diff
==============================================================================
--- lld/trunk/ELF/SymbolTable.cpp (original)
+++ lld/trunk/ELF/SymbolTable.cpp Thu Dec 20 14:54:41 2018
@@ -494,21 +494,16 @@ void SymbolTable::addShared(StringRef Na
// An undefined symbol with non default visibility must be satisfied
// in the same DSO.
- if (WasInserted) {
- replaceSymbol<SharedSymbol>(S, File, Name, Sym.getBinding(), Sym.st_other,
+ auto Replace = [&](uint8_t Binding) {
+ replaceSymbol<SharedSymbol>(S, File, Name, Binding, Sym.st_other,
Sym.getType(), Sym.st_value, Sym.st_size,
Alignment, VerdefIndex);
- return;
- }
+ };
- if ((S->isUndefined() || S->isLazy()) && S->Visibility == STV_DEFAULT) {
- uint8_t Binding = S->Binding;
- replaceSymbol<SharedSymbol>(S, File, Name, Sym.getBinding(), Sym.st_other,
- Sym.getType(), Sym.st_value, Sym.st_size,
- Alignment, VerdefIndex);
-
- S->Binding = Binding;
- }
+ if (WasInserted)
+ Replace(Sym.getBinding());
+ else if (S->Visibility == STV_DEFAULT && (S->isUndefined() || S->isLazy()))
+ Replace(S->Binding);
}
Symbol *SymbolTable::addBitcode(StringRef Name, uint8_t Binding,
More information about the llvm-commits
mailing list