summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRui Ueyama <ruiu@google.com>2016-04-28 02:08:54 +0000
committerRui Ueyama <ruiu@google.com>2016-04-28 02:08:54 +0000
commit5d7a3d011d0a1120c4c020b02fe33a6fd4cf0dee (patch)
tree88ca9dc31d08061d2abeb11f90ca021647f7bb9f
parent588e1dbda29ad7526d872bfdc2c810d32555c9d2 (diff)
downloadbcm5719-llvm-5d7a3d011d0a1120c4c020b02fe33a6fd4cf0dee.tar.gz
bcm5719-llvm-5d7a3d011d0a1120c4c020b02fe33a6fd4cf0dee.zip
Do not call hasArg and getLastArg for the same option.
llvm-svn: 267839
-rw-r--r--lld/ELF/Config.h2
-rw-r--r--lld/ELF/Driver.cpp13
2 files changed, 7 insertions, 8 deletions
diff --git a/lld/ELF/Config.h b/lld/ELF/Config.h
index b6d1d4caa75..fd7dbc2239b 100644
--- a/lld/ELF/Config.h
+++ b/lld/ELF/Config.h
@@ -86,7 +86,7 @@ struct Configuration {
bool Threads;
bool Trace;
bool Verbose;
- bool VersionScript;
+ bool VersionScript = false;
bool WarnCommon;
bool ZExecStack;
bool ZNodelete;
diff --git a/lld/ELF/Driver.cpp b/lld/ELF/Driver.cpp
index a88d8041d93..5d638a8c685 100644
--- a/lld/ELF/Driver.cpp
+++ b/lld/ELF/Driver.cpp
@@ -394,19 +394,18 @@ void LinkerDriver::readConfigs(opt::InputArgList &Args) {
for (auto *Arg : Args.filtered(OPT_undefined))
Config->Undefined.push_back(Arg->getValue());
- if (Args.hasArg(OPT_dynamic_list))
- if (Optional<MemoryBufferRef> Buffer =
- readFile(getString(Args, OPT_dynamic_list)))
+ if (auto *Arg = Args.getLastArg(OPT_dynamic_list))
+ if (Optional<MemoryBufferRef> Buffer = readFile(Arg->getValue()))
parseDynamicList(*Buffer);
for (auto *Arg : Args.filtered(OPT_export_dynamic_symbol))
Config->DynamicList.push_back(Arg->getValue());
- Config->VersionScript = Args.hasArg(OPT_version_script);
- if (Config->VersionScript)
- if (Optional<MemoryBufferRef> Buffer =
- readFile(getString(Args, OPT_version_script)))
+ if (auto *Arg = Args.getLastArg(OPT_version_script)) {
+ Config->VersionScript = true;
+ if (Optional<MemoryBufferRef> Buffer = readFile(Arg->getValue()))
parseVersionScript(*Buffer);
+ }
}
void LinkerDriver::createFiles(opt::InputArgList &Args) {
OpenPOWER on IntegriCloud