[lld] 4c36567 - [ELF] Relocations: remove some cast<Undefined>. NFC
Fangrui Song via llvm-commits
llvm-commits at lists.llvm.org
Mon Jan 17 00:02:52 PST 2022
Author: Fangrui Song
Date: 2022-01-17T00:02:47-08:00
New Revision: 4c36567179ec7d37fd50a25cdf3800899f199c93
URL: https://github.com/llvm/llvm-project/commit/4c36567179ec7d37fd50a25cdf3800899f199c93
DIFF: https://github.com/llvm/llvm-project/commit/4c36567179ec7d37fd50a25cdf3800899f199c93.diff
LOG: [ELF] Relocations: remove some cast<Undefined>. NFC
Added:
Modified:
lld/ELF/Relocations.cpp
Removed:
################################################################################
diff --git a/lld/ELF/Relocations.cpp b/lld/ELF/Relocations.cpp
index 6b52e1e821c9..7befe09ce233 100644
--- a/lld/ELF/Relocations.cpp
+++ b/lld/ELF/Relocations.cpp
@@ -576,7 +576,7 @@ static std::string maybeReportDiscarded(Undefined &sym) {
// them are known, so that some postprocessing on the list of undefined symbols
// can happen before lld emits diagnostics.
struct UndefinedDiag {
- Symbol *sym;
+ Undefined *sym;
struct Loc {
InputSectionBase *sec;
uint64_t offset;
@@ -722,7 +722,7 @@ static const Symbol *getAlternativeSpelling(const Undefined &sym,
template <class ELFT>
static void reportUndefinedSymbol(const UndefinedDiag &undef,
bool correctSpelling) {
- Symbol &sym = *undef.sym;
+ Undefined &sym = *undef.sym;
auto visibility = [&]() -> std::string {
switch (sym.visibility) {
@@ -737,7 +737,7 @@ static void reportUndefinedSymbol(const UndefinedDiag &undef,
}
};
- std::string msg = maybeReportDiscarded<ELFT>(cast<Undefined>(sym));
+ std::string msg = maybeReportDiscarded<ELFT>(sym);
if (msg.empty())
msg = "undefined " + visibility() + "symbol: " + toString(sym);
@@ -764,7 +764,7 @@ static void reportUndefinedSymbol(const UndefinedDiag &undef,
if (correctSpelling) {
std::string pre_hint = ": ", post_hint;
if (const Symbol *corrected =
- getAlternativeSpelling(cast<Undefined>(sym), pre_hint, post_hint)) {
+ getAlternativeSpelling(sym, pre_hint, post_hint)) {
msg += "\n>>> did you mean" + pre_hint + toString(*corrected) + post_hint;
if (corrected->file)
msg += "\n>>> defined in: " + toString(corrected->file);
@@ -810,7 +810,7 @@ template <class ELFT> void elf::reportUndefinedSymbols() {
// Report an undefined symbol if necessary.
// Returns true if the undefined symbol will produce an error message.
-static bool maybeReportUndefined(Symbol &sym, InputSectionBase &sec,
+static bool maybeReportUndefined(Undefined &sym, InputSectionBase &sec,
uint64_t offset) {
// If versioned, issue an error (even if the symbol is weak) because we don't
// know the defining filename which is required to construct a Verneed entry.
@@ -834,8 +834,7 @@ static bool maybeReportUndefined(Symbol &sym, InputSectionBase &sec,
// PPC32 .got2 is similar but cannot be fixed. Multiple .got2 is infeasible
// because .LC0-.LTOC is not representable if the two labels are in
diff erent
// .got2
- if (cast<Undefined>(sym).discardedSecIdx != 0 &&
- (sec.name == ".got2" || sec.name == ".toc"))
+ if (sym.discardedSecIdx != 0 && (sec.name == ".got2" || sec.name == ".toc"))
return false;
bool isWarning =
@@ -1311,7 +1310,7 @@ template <class ELFT, class RelTy> void RelocationScanner::scanOne(RelTy *&i) {
// Error if the target symbol is undefined. Symbol index 0 may be used by
// marker relocations, e.g. R_*_NONE and R_ARM_V4BX. Don't error on them.
if (sym.isUndefined() && symIndex != 0 &&
- maybeReportUndefined(sym, sec, rel.r_offset))
+ maybeReportUndefined(cast<Undefined>(sym), sec, rel.r_offset))
return;
const uint8_t *relocatedAddr = sec.data().begin() + rel.r_offset;
More information about the llvm-commits
mailing list