Make Module::getNamedFunction prefer non-external functions if there is more than
one function of the same name

llvm-svn: 7274
diff --git a/llvm/lib/VMCore/Module.cpp b/llvm/lib/VMCore/Module.cpp
index 275d4cf..abc4654 100644
--- a/llvm/lib/VMCore/Module.cpp
+++ b/llvm/lib/VMCore/Module.cpp
@@ -172,10 +172,14 @@
 ///
 Function *Module::getNamedFunction(const std::string &Name) {
   // Loop over all of the functions, looking for the function desired
+  Function *Found = 0;
   for (iterator I = begin(), E = end(); I != E; ++I)
     if (I->getName() == Name)
-      return I;
-  return 0; // function not found...
+      if (I->isExternal())
+        Found = I;
+      else
+        return I;
+  return Found; // Non-external function not found...
 }