From abd25c9b3ec0d4ed7238a3243c96a8de45c9d917 Mon Sep 17 00:00:00 2001 From: Sean Silva Date: Sat, 2 Apr 2016 04:08:02 +0000 Subject: [PATCH] Call cl::ParseCommandLineOptions from the driver. Thanks to Rui for the suggestion; this simplifies things. llvm-svn: 265213 --- lld/ELF/Config.h | 1 - lld/ELF/Driver.cpp | 6 ++++-- lld/ELF/LTO.cpp | 2 -- 3 files changed, 4 insertions(+), 5 deletions(-) diff --git a/lld/ELF/Config.h b/lld/ELF/Config.h index 2cd9510..ff18e6b 100644 --- a/lld/ELF/Config.h +++ b/lld/ELF/Config.h @@ -91,7 +91,6 @@ struct Configuration { uint16_t EMachine = llvm::ELF::EM_NONE; uint64_t EntryAddr = -1; unsigned LtoO; - std::vector MLlvm; unsigned Optimize; }; diff --git a/lld/ELF/Driver.cpp b/lld/ELF/Driver.cpp index c0b2a69..756d84e 100644 --- a/lld/ELF/Driver.cpp +++ b/lld/ELF/Driver.cpp @@ -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 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) { diff --git a/lld/ELF/LTO.cpp b/lld/ELF/LTO.cpp index 6d5d71d..180236c 100644 --- a/lld/ELF/LTO.cpp +++ b/lld/ELF/LTO.cpp @@ -143,8 +143,6 @@ std::unique_ptr BitcodeCompiler::compile() { internalize(*GV); } - cl::ParseCommandLineOptions(Config->MLlvm.size(), Config->MLlvm.data()); - if (Config->SaveTemps) saveBCFile(Combined, ".lto.bc"); -- 2.7.4