Eliminate useless duplicate libraries


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5823 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/tools/gccld/gccld.cpp b/tools/gccld/gccld.cpp
index f21dff7..90cebb4 100644
--- a/tools/gccld/gccld.cpp
+++ b/tools/gccld/gccld.cpp
@@ -120,7 +120,8 @@
                                             bool &isArchive) {
   if (FileExists(Directory + "lib" + LibName + ".a")) {
     std::string ErrorMessage;
-    if (Verbose) std::cerr << "Loading '" << Directory << LibName << ".a'\n";
+    if (Verbose) std::cerr << "  Loading '" << Directory << "lib"
+                           << LibName << ".a'\n";
     if (!ReadArchiveFile(Directory + "lib" + LibName + ".a", Objects,
                          &ErrorMessage)) {   // Read the archive file
       isArchive = true;
@@ -128,7 +129,7 @@
     }
 
     if (Verbose) {
-      std::cerr << "Error loading archive '" + Directory + "lib"+LibName+".a'";
+      std::cerr << "  Error loading archive '" + Directory +"lib"+LibName+".a'";
       if (!ErrorMessage.empty()) std::cerr << ": " << ErrorMessage;
       std::cerr << "\n";
     }
@@ -305,6 +306,10 @@
                             ": error linking in '" + InputFilenames[i] + "'");
   }
 
+  // Remove any consecutive duplicates of the same library...
+  Libraries.erase(std::unique(Libraries.begin(), Libraries.end()),
+                  Libraries.end());
+
   // Link in all of the libraries next...
   for (unsigned i = 0; i != Libraries.size(); ++i) {
     if (Verbose) std::cerr << "Linking in library: -l" << Libraries[i] << "\n";