Fix problems uncovered by VC++ (first time compiled by VC++)


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19056 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Bytecode/Archive/ArchiveReader.cpp b/lib/Bytecode/Archive/ArchiveReader.cpp
index d4a4921..28327df 100644
--- a/lib/Bytecode/Archive/ArchiveReader.cpp
+++ b/lib/Bytecode/Archive/ArchiveReader.cpp
@@ -90,7 +90,6 @@
   // a '/' and blanks.
 
   std::string pathname;
-  unsigned index;
   switch (Hdr->name[0]) {
     case '#':
       if (Hdr->name[1] == '1' && Hdr->name[2] == '/') {
diff --git a/lib/Bytecode/Archive/ArchiveWriter.cpp b/lib/Bytecode/Archive/ArchiveWriter.cpp
index 58e7853..5c7b126 100644
--- a/lib/Bytecode/Archive/ArchiveWriter.cpp
+++ b/lib/Bytecode/Archive/ArchiveWriter.cpp
@@ -293,7 +293,7 @@
   ARFile.write(data,fSize);
 
   // Make sure the member is an even length
-  if (ARFile.tellp() & 1 == 1)
+  if ((ARFile.tellp() & 1) == 1)
     ARFile << ARFILE_PAD;
 
   // Free the compressed data, if necessary
diff --git a/lib/Bytecode/Reader/Reader.cpp b/lib/Bytecode/Reader/Reader.cpp
index 3f86c19..e9b18e0 100644
--- a/lib/Bytecode/Reader/Reader.cpp
+++ b/lib/Bytecode/Reader/Reader.cpp
@@ -19,6 +19,7 @@
 #include "Reader.h"
 #include "llvm/Bytecode/BytecodeHandler.h"
 #include "llvm/BasicBlock.h"
+#include "llvm/Config/alloca.h"
 #include "llvm/Constants.h"
 #include "llvm/Instructions.h"
 #include "llvm/SymbolTable.h"
@@ -1501,7 +1502,7 @@
       error("String constant data invalid!");
     
     // Read character data.  The type tells us how long the string is.
-    char Data[ATy->getNumElements()]; 
+    char *Data = reinterpret_cast<char *>(alloca(ATy->getNumElements())); 
     read_data(Data, Data+ATy->getNumElements());
 
     std::vector<Constant*> Elements(ATy->getNumElements());