[lld] r251440 - ELF2: Make parseEmulation side-effect free. NFC.

Rui Ueyama via llvm-commits llvm-commits at lists.llvm.org
Tue Oct 27 12:29:27 PDT 2015


Author: ruiu
Date: Tue Oct 27 14:29:27 2015
New Revision: 251440

URL: http://llvm.org/viewvc/llvm-project?rev=251440&view=rev
Log:
ELF2: Make parseEmulation side-effect free. NFC.

Modified:
    lld/trunk/ELF/Driver.cpp

Modified: lld/trunk/ELF/Driver.cpp
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/ELF/Driver.cpp?rev=251440&r1=251439&r2=251440&view=diff
==============================================================================
--- lld/trunk/ELF/Driver.cpp (original)
+++ lld/trunk/ELF/Driver.cpp Tue Oct 27 14:29:27 2015
@@ -38,7 +38,6 @@ void lld::elf2::link(ArrayRef<const char
 }
 
 static std::pair<ELFKind, uint16_t> parseEmulation(StringRef S) {
-  Config->Emulation = S;
   if (S == "elf32btsmip")
     return {ELF32BEKind, EM_MIPS};
   if (S == "elf32ltsmip")
@@ -130,9 +129,11 @@ void LinkerDriver::createFiles(opt::Inpu
     Config->RPath = llvm::join(RPaths.begin(), RPaths.end(), ":");
 
   if (auto *Arg = Args.getLastArg(OPT_m)) {
-    std::pair<ELFKind, uint16_t> P = parseEmulation(Arg->getValue());
+    StringRef S = Arg->getValue();
+    std::pair<ELFKind, uint16_t> P = parseEmulation(S);
     Config->EKind = P.first;
     Config->EMachine = P.second;
+    Config->Emulation = S;
   }
 
   Config->AllowMultipleDefinition = Args.hasArg(OPT_allow_multiple_definition);




More information about the llvm-commits mailing list