--- /dev/null
+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/{{.*}} 1000 1000 100664 4 `
+CHECK-NEXT: bar
+CHECK-NEXT: /0 {{.*}} 1000 1000 100664 4 `
+CHECK-NEXT: zed
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 {