diff options
| author | Rui Ueyama <ruiu@google.com> | 2017-05-24 17:12:53 +0000 |
|---|---|---|
| committer | Rui Ueyama <ruiu@google.com> | 2017-05-24 17:12:53 +0000 |
| commit | 8df7fa782e07788bb2327812730b025f30a3eb62 (patch) | |
| tree | 2c4675699b432993aba29d39899948869afb06bd | |
| parent | 216d6834ba089668599b55d948cd1bd8eee57194 (diff) | |
| download | bcm5719-llvm-8df7fa782e07788bb2327812730b025f30a3eb62.tar.gz bcm5719-llvm-8df7fa782e07788bb2327812730b025f30a3eb62.zip | |
Rewrite badly-formatted switch. NFC.
llvm-svn: 303777
| -rw-r--r-- | lld/COFF/Symbols.cpp | 19 |
1 files changed, 11 insertions, 8 deletions
diff --git a/lld/COFF/Symbols.cpp b/lld/COFF/Symbols.cpp index 993e920ce7f..5fd17a02ffc 100644 --- a/lld/COFF/Symbols.cpp +++ b/lld/COFF/Symbols.cpp @@ -61,16 +61,19 @@ COFFSymbolRef DefinedCOFF::getCOFFSymbol() { return COFFSymbolRef(reinterpret_cast<const coff_symbol32 *>(Sym)); } +static Chunk *makeImportThunk(DefinedImportData *S, uint16_t Machine) { + if (Machine == AMD64) + return make<ImportThunkChunkX64>(S); + if (Machine == I386) + return make<ImportThunkChunkX86>(S); + assert(Machine == ARMNT); + return make<ImportThunkChunkARM>(S); +} + DefinedImportThunk::DefinedImportThunk(StringRef Name, DefinedImportData *S, uint16_t Machine) - : Defined(DefinedImportThunkKind, Name) { - switch (Machine) { - case AMD64: Data = make<ImportThunkChunkX64>(S); return; - case I386: Data = make<ImportThunkChunkX86>(S); return; - case ARMNT: Data = make<ImportThunkChunkARM>(S); return; - default: llvm_unreachable("unknown machine type"); - } -} + : Defined(DefinedImportThunkKind, Name), + Data(makeImportThunk(S, Machine)) {} Defined *Undefined::getWeakAlias() { // A weak alias may be a weak alias to another symbol, so check recursively. |

