* The cleangcc pass is broken into two parts, we only want to
  FunctionResolvingPass one.
* We run it *after* the symbol stripping pass so that -strip can be
  pipelined with the constant merging pass or something else if desired.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2226 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/tools/gccld/gccld.cpp b/tools/gccld/gccld.cpp
index 66d1afb..11595f7 100644
--- a/tools/gccld/gccld.cpp
+++ b/tools/gccld/gccld.cpp
@@ -120,7 +120,7 @@
     }
   }
 
-  // In addition to just parsing the input from GCC, we also want to spiff it up
+  // In addition to just linking the input from GCC, we also want to spiff it up
   // a little bit.  Do this now.
   //
   PassManager Passes;
@@ -130,13 +130,6 @@
   //
   Passes.add(createConstantMergePass());
 
-  // Often if the programmer does not specify proper prototypes for the
-  // functions they are calling, they end up calling a vararg version of the
-  // function that does not get a body filled in (the real function has typed
-  // arguments).  This pass merges the two functions, among other things.
-  //
-  Passes.add(createCleanupGCCOutputPass());
-
   // If the -s command line option was specified, strip the symbols out of the
   // resulting program to make it smaller.  -s is a GCC option that we are
   // supporting.
@@ -144,6 +137,13 @@
   if (Strip)
     Passes.add(createSymbolStrippingPass());
 
+  // Often if the programmer does not specify proper prototypes for the
+  // functions they are calling, they end up calling a vararg version of the
+  // function that does not get a body filled in (the real function has typed
+  // arguments).  This pass merges the two functions.
+  //
+  Passes.add(createFunctionResolvingPass());
+
   // Now that composite has been compiled, scan through the module, looking for
   // a main function.  If main is defined, mark all other functions internal.
   //