Add r186216 back, but make the test tolerant of different uids and gids.

original message:
Fix a off by one error about which members need to use the string table.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@186238 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Rafael Espindola 2013-07-13 04:14:13 +00:00
parent 75681bb302
commit c951651894
2 changed files with 23 additions and 1 deletions

View File

@ -0,0 +1,22 @@
Test the exact archive format. In particular, test which file names use the
string table or not.
REQUIRES: shell
RUN: mkdir -p %t
RUN: cd %t
RUN: echo bar > 0123456789abcde
RUN: echo zed > 0123456789abcdef
RUN: rm -f test.a
RUN: llvm-ar rc test.a 0123456789abcde 0123456789abcdef
RUN: cat test.a | FileCheck -strict-whitespace %s
CHECK: !<arch>
CHECK-NEXT: // 18 `
CHECK-NEXT: 0123456789abcdef/
CHECK-NEXT: 0123456789abcde/{{.*}} {{.*}} {{.*}} {{.*}} 4 `
CHECK-NEXT: bar
CHECK-NEXT: /0 {{.*}} {{.*}} {{.*}} {{.*}} 4 `
CHECK-NEXT: zed

View File

@ -419,7 +419,7 @@ StringRef NewArchiveIterator::getNew() const {
template <typename T>
void addMember(std::vector<NewArchiveIterator> &Members,
std::string &StringTable, T I, StringRef Name) {
if (Name.size() < 15) {
if (Name.size() < 16) {
NewArchiveIterator NI(I, Twine(Name) + "/");
Members.push_back(NI);
} else {