Correct the computation of when to add the padding. It is not based on the
member's size. It is based on the oddness/evenness of the file pointer.
This fixes a bug with llvm-ar not being able to read archives produced by
llvm-ranlib when there are members with odd long file name lengths.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17997 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Bytecode/Archive/ArchiveWriter.cpp b/lib/Bytecode/Archive/ArchiveWriter.cpp
index bd9851e..c3c7d12 100644
--- a/lib/Bytecode/Archive/ArchiveWriter.cpp
+++ b/lib/Bytecode/Archive/ArchiveWriter.cpp
@@ -290,7 +290,7 @@
ARFile.write(data,fSize);
// Make sure the member is an even length
- if (ARFile.tellp() % 2 != 0)
+ if (ARFile.tellp() & 1 == 1)
ARFile << ARFILE_PAD;
// Free the compressed data, if necessary