[lld] r267839 - Do not call hasArg and getLastArg for the same option.

Rui Ueyama via llvm-commits llvm-commits at lists.llvm.org
Wed Apr 27 19:08:54 PDT 2016


Author: ruiu
Date: Wed Apr 27 21:08:54 2016
New Revision: 267839

URL: http://llvm.org/viewvc/llvm-project?rev=267839&view=rev
Log:
Do not call hasArg and getLastArg for the same option.

Modified:
    lld/trunk/ELF/Config.h
    lld/trunk/ELF/Driver.cpp

Modified: lld/trunk/ELF/Config.h
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/ELF/Config.h?rev=267839&r1=267838&r2=267839&view=diff
==============================================================================
--- lld/trunk/ELF/Config.h (original)
+++ lld/trunk/ELF/Config.h Wed Apr 27 21:08:54 2016
@@ -86,7 +86,7 @@ struct Configuration {
   bool Threads;
   bool Trace;
   bool Verbose;
-  bool VersionScript;
+  bool VersionScript = false;
   bool WarnCommon;
   bool ZExecStack;
   bool ZNodelete;

Modified: lld/trunk/ELF/Driver.cpp
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/ELF/Driver.cpp?rev=267839&r1=267838&r2=267839&view=diff
==============================================================================
--- lld/trunk/ELF/Driver.cpp (original)
+++ lld/trunk/ELF/Driver.cpp Wed Apr 27 21:08:54 2016
@@ -394,19 +394,18 @@ void LinkerDriver::readConfigs(opt::Inpu
   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) {




More information about the llvm-commits mailing list