diff options
| author | Rui Ueyama <ruiu@google.com> | 2016-04-28 02:08:54 +0000 |
|---|---|---|
| committer | Rui Ueyama <ruiu@google.com> | 2016-04-28 02:08:54 +0000 |
| commit | 5d7a3d011d0a1120c4c020b02fe33a6fd4cf0dee (patch) | |
| tree | 88ca9dc31d08061d2abeb11f90ca021647f7bb9f | |
| parent | 588e1dbda29ad7526d872bfdc2c810d32555c9d2 (diff) | |
| download | bcm5719-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.h | 2 | ||||
| -rw-r--r-- | lld/ELF/Driver.cpp | 13 |
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) { |

