diff --git a/lld/COFF/Symbols.cpp b/lld/COFF/Symbols.cpp index 402dd439ceb9..68af7bc1885c 100644 --- a/lld/COFF/Symbols.cpp +++ b/lld/COFF/Symbols.cpp @@ -161,30 +161,6 @@ std::string SymbolBody::getDebugName() { return N; } -uint64_t Defined::getRVA() { - switch (kind()) { - case DefinedAbsoluteKind: - return cast(this)->getRVA(); - case DefinedImportDataKind: - return cast(this)->getRVA(); - case DefinedImportThunkKind: - return cast(this)->getRVA(); - case DefinedLocalImportKind: - return cast(this)->getRVA(); - case DefinedCommonKind: - return cast(this)->getRVA(); - case DefinedRegularKind: - return cast(this)->getRVA(); - - case DefinedBitcodeKind: - llvm_unreachable("There is no address for a bitcode symbol."); - case LazyKind: - case UndefinedKind: - llvm_unreachable("Cannot get the address for an undefined symbol."); - } - llvm_unreachable("unknown symbol kind"); -} - uint64_t Defined::getFileOff() { switch (kind()) { case DefinedImportDataKind: diff --git a/lld/COFF/Symbols.h b/lld/COFF/Symbols.h index 5c8e55f01802..f569a42fd04f 100644 --- a/lld/COFF/Symbols.h +++ b/lld/COFF/Symbols.h @@ -360,6 +360,29 @@ private: BitcodeFile *File; }; +inline uint64_t Defined::getRVA() { + switch (kind()) { + case DefinedAbsoluteKind: + return cast(this)->getRVA(); + case DefinedImportDataKind: + return cast(this)->getRVA(); + case DefinedImportThunkKind: + return cast(this)->getRVA(); + case DefinedLocalImportKind: + return cast(this)->getRVA(); + case DefinedCommonKind: + return cast(this)->getRVA(); + case DefinedRegularKind: + return cast(this)->getRVA(); + case DefinedBitcodeKind: + llvm_unreachable("There is no address for a bitcode symbol."); + case LazyKind: + case UndefinedKind: + llvm_unreachable("Cannot get the address for an undefined symbol."); + } + llvm_unreachable("unknown symbol kind"); +} + } // namespace coff } // namespace lld