[lld] r299506 - Simplify. NFC.

Rui Ueyama via llvm-commits llvm-commits at lists.llvm.org
Tue Apr 4 20:21:02 PDT 2017


Author: ruiu
Date: Tue Apr  4 22:21:01 2017
New Revision: 299506

URL: http://llvm.org/viewvc/llvm-project?rev=299506&view=rev
Log:
Simplify. NFC.

Modified:
    lld/trunk/ELF/LinkerScript.cpp

Modified: lld/trunk/ELF/LinkerScript.cpp
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/ELF/LinkerScript.cpp?rev=299506&r1=299505&r2=299506&view=diff
==============================================================================
--- lld/trunk/ELF/LinkerScript.cpp (original)
+++ lld/trunk/ELF/LinkerScript.cpp Tue Apr  4 22:21:01 2017
@@ -423,17 +423,14 @@ void LinkerScript::processCommands(Outpu
   CurOutSec = Aether;
   Dot = 0;
 
-  for (unsigned I = 0; I < Opt.Commands.size(); ++I) {
-    auto Iter = Opt.Commands.begin() + I;
-    BaseCommand *Base1 = *Iter;
-
+  for (auto It = Opt.Commands.begin(); It != Opt.Commands.end(); ++It) {
     // Handle symbol assignments outside of any output section.
-    if (auto *Cmd = dyn_cast<SymbolAssignment>(Base1)) {
+    if (auto *Cmd = dyn_cast<SymbolAssignment>(*It)) {
       addSymbol(Cmd);
       continue;
     }
 
-    if (auto *Cmd = dyn_cast<OutputSectionCommand>(Base1)) {
+    if (auto *Cmd = dyn_cast<OutputSectionCommand>(*It)) {
       std::vector<InputSectionBase *> V = createInputSectionList(*Cmd);
 
       // The output section name `/DISCARD/' is special.
@@ -446,15 +443,15 @@ void LinkerScript::processCommands(Outpu
       // This is for ONLY_IF_RO and ONLY_IF_RW. An output section directive
       // ".foo : ONLY_IF_R[OW] { ... }" is handled only if all member input
       // sections satisfy a given constraint. If not, a directive is handled
-      // as if it wasn't present from the beginning.
+      // as if it weren't present from the beginning.
       //
       // Because we'll iterate over Commands many more times, the easiest
-      // way to "make it as if it wasn't present" is to just remove it.
+      // way to "make it as if it weren't present" is to just remove it.
       if (!matchConstraints(V, Cmd->Constraint)) {
         for (InputSectionBase *S : V)
           S->Assigned = false;
-        Opt.Commands.erase(Iter);
-        --I;
+        --It;
+        Opt.Commands.erase(It + 1);
         continue;
       }
 




More information about the llvm-commits mailing list