Fix some compilation errors on msvc:
- "Redefinition of I" (iterator masks previous definition)
- include missing header file

Patch by Argiris Kirtzidis!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48115 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Linker/LinkModules.cpp b/lib/Linker/LinkModules.cpp
index 5545af6..ad6852d 100644
--- a/lib/Linker/LinkModules.cpp
+++ b/lib/Linker/LinkModules.cpp
@@ -597,9 +597,9 @@
 
     // Globals were already linked, thus we can just query ValueMap for variant
     // of SAliasee in Dest
-    std::map<const Value*,Value*>::const_iterator I = ValueMap.find(SAliasee);
-    assert(I != ValueMap.end() && "Aliasee not linked");
-    GlobalValue* DAliasee = cast<GlobalValue>(I->second);
+    std::map<const Value*,Value*>::const_iterator VMI = ValueMap.find(SAliasee);
+    assert(VMI != ValueMap.end() && "Aliasee not linked");
+    GlobalValue* DAliasee = cast<GlobalValue>(VMI->second);
 
     // Try to find something 'similar' to SGA in destination module.
     if (GlobalAlias *DGA = Dest->getNamedAlias(SGA->getName())) {