Call cl::ParseCommandLineOptions from the driver.
authorSean Silva <chisophugis@gmail.com>
Sat, 2 Apr 2016 04:08:02 +0000 (04:08 +0000)
committerSean Silva <chisophugis@gmail.com>
Sat, 2 Apr 2016 04:08:02 +0000 (04:08 +0000)
Thanks to Rui for the suggestion; this simplifies things.

llvm-svn: 265213

lld/ELF/Config.h
lld/ELF/Driver.cpp
lld/ELF/LTO.cpp

index 2cd9510..ff18e6b 100644 (file)
@@ -91,7 +91,6 @@ struct Configuration {
   uint16_t EMachine = llvm::ELF::EM_NONE;
   uint64_t EntryAddr = -1;
   unsigned LtoO;
-  std::vector<const char *> MLlvm;
   unsigned Optimize;
 };
 
index c0b2a69..756d84e 100644 (file)
@@ -309,9 +309,11 @@ void LinkerDriver::readConfigs(opt::InputArgList &Args) {
   for (auto *Arg : Args.filtered(OPT_undefined))
     Config->Undefined.push_back(Arg->getValue());
 
-  Config->MLlvm.push_back("lld (LLVM option parsing)");
+  std::vector<const char *> Argv;
+  Argv.push_back("lld (LLVM option parsing)");
   for (auto *Arg : Args.filtered(OPT_mllvm))
-    Config->MLlvm.push_back(Arg->getValue());
+    Argv.push_back(Arg->getValue());
+  cl::ParseCommandLineOptions(Argv.size(), Argv.data());
 }
 
 void LinkerDriver::createFiles(opt::InputArgList &Args) {
index 6d5d71d..180236c 100644 (file)
@@ -143,8 +143,6 @@ std::unique_ptr<InputFile> BitcodeCompiler::compile() {
     internalize(*GV);
   }
 
-  cl::ParseCommandLineOptions(Config->MLlvm.size(), Config->MLlvm.data());
-
   if (Config->SaveTemps)
     saveBCFile(Combined, ".lto.bc");