[ELF] - Simplify createFiles. NFCI.
authorGeorge Rimar <grimar@accesssoftek.com>
Tue, 3 Apr 2018 12:06:29 +0000 (12:06 +0000)
committerGeorge Rimar <grimar@accesssoftek.com>
Tue, 3 Apr 2018 12:06:29 +0000 (12:06 +0000)
Groups paired options together.

Differential revision: https://reviews.llvm.org/D45090

llvm-svn: 329060

lld/ELF/Driver.cpp

index 4565fde..df9f32a 100644 (file)
@@ -879,7 +879,8 @@ static bool getBinaryOption(StringRef S) {
 
 void LinkerDriver::createFiles(opt::InputArgList &Args) {
   for (auto *Arg : Args) {
-    switch (Arg->getOption().getUnaliasedOption().getID()) {
+    unsigned ID = Arg->getOption().getUnaliasedOption().getID();
+    switch (ID) {
     case OPT_library:
       addLibrary(Arg->getValue());
       break;
@@ -902,25 +903,19 @@ void LinkerDriver::createFiles(opt::InputArgList &Args) {
       error(Twine("cannot find linker script ") + Arg->getValue());
       break;
     case OPT_as_needed:
-      Config->AsNeeded = true;
+    case OPT_no_as_needed:
+      Config->AsNeeded = (ID == OPT_as_needed);
       break;
     case OPT_format:
       InBinary = getBinaryOption(Arg->getValue());
       break;
-    case OPT_no_as_needed:
-      Config->AsNeeded = false;
-      break;
     case OPT_Bstatic:
-      Config->Static = true;
-      break;
     case OPT_Bdynamic:
-      Config->Static = false;
+      Config->Static = (ID == OPT_Bstatic);
       break;
     case OPT_whole_archive:
-      InWholeArchive = true;
-      break;
     case OPT_no_whole_archive:
-      InWholeArchive = false;
+      InWholeArchive = (ID == OPT_whole_archive);
       break;
     case OPT_just_symbols:
       if (Optional<MemoryBufferRef> MB = readFile(Arg->getValue())) {
@@ -929,10 +924,8 @@ void LinkerDriver::createFiles(opt::InputArgList &Args) {
       }
       break;
     case OPT_start_lib:
-      InLib = true;
-      break;
     case OPT_end_lib:
-      InLib = false;
+      InLib = (ID == OPT_start_lib);
       break;
     }
   }