[llvm] r186216 - Fix a off by one error about which members need to use the string table.

Rafael Espindola rafael.espindola at gmail.com
Fri Jul 12 15:22:35 PDT 2013


Author: rafael
Date: Fri Jul 12 17:22:34 2013
New Revision: 186216

URL: http://llvm.org/viewvc/llvm-project?rev=186216&view=rev
Log:
Fix a off by one error about which members need to use the string table.

Added:
    llvm/trunk/test/Object/archive-format.test
Modified:
    llvm/trunk/tools/llvm-ar/llvm-ar.cpp

Added: llvm/trunk/test/Object/archive-format.test
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Object/archive-format.test?rev=186216&view=auto
==============================================================================
--- llvm/trunk/test/Object/archive-format.test (added)
+++ llvm/trunk/test/Object/archive-format.test Fri Jul 12 17:22:34 2013
@@ -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/{{.*}}  1000  1000  100664  4         `
+CHECK-NEXT: bar
+CHECK-NEXT: /0              {{.*}}  1000  1000  100664  4         `
+CHECK-NEXT: zed

Modified: llvm/trunk/tools/llvm-ar/llvm-ar.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/llvm-ar/llvm-ar.cpp?rev=186216&r1=186215&r2=186216&view=diff
==============================================================================
--- llvm/trunk/tools/llvm-ar/llvm-ar.cpp (original)
+++ llvm/trunk/tools/llvm-ar/llvm-ar.cpp Fri Jul 12 17:22:34 2013
@@ -419,7 +419,7 @@ StringRef NewArchiveIterator::getNew() c
 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 {





More information about the llvm-commits mailing list