[llvm] r353347 - [llvm-ar] Remove leading slash when printing thin archive members

Jordan Rupprecht via llvm-commits llvm-commits at lists.llvm.org
Wed Feb 6 13:50:45 PST 2019


Author: rupprecht
Date: Wed Feb  6 13:50:45 2019
New Revision: 353347

URL: http://llvm.org/viewvc/llvm-project?rev=353347&view=rev
Log:
[llvm-ar] Remove leading slash when printing thin archive members

Reviewers: ruiu

Subscribers: llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D57845

Added:
    llvm/trunk/test/tools/llvm-ar/print-thin-archive-path.test
Modified:
    llvm/trunk/tools/llvm-ar/llvm-ar.cpp

Added: llvm/trunk/test/tools/llvm-ar/print-thin-archive-path.test
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-ar/print-thin-archive-path.test?rev=353347&view=auto
==============================================================================
--- llvm/trunk/test/tools/llvm-ar/print-thin-archive-path.test (added)
+++ llvm/trunk/test/tools/llvm-ar/print-thin-archive-path.test Wed Feb  6 13:50:45 2019
@@ -0,0 +1,10 @@
+RUN: mkdir -p %t/foo
+RUN: touch %t/foo/a.txt
+RUN: rm -f %t/foo/archive.a
+
+RUN: cd %t && llvm-ar rcST foo/archive.a foo/a.txt
+RUN: cd %t && llvm-ar t foo/archive.a | FileCheck %s --match-full-lines --check-prefix=PARENT-DIR
+RUN: cd %t/foo && llvm-ar t archive.a | FileCheck %s --match-full-lines --check-prefix=CHILD-DIR
+
+PARENT-DIR: foo/a.txt
+CHILD-DIR:  a.txt

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=353347&r1=353346&r2=353347&view=diff
==============================================================================
--- llvm/trunk/tools/llvm-ar/llvm-ar.cpp (original)
+++ llvm/trunk/tools/llvm-ar/llvm-ar.cpp Wed Feb  6 13:50:45 2019
@@ -429,8 +429,9 @@ static void doDisplayTable(StringRef Nam
   }
 
   if (C.getParent()->isThin()) {
-    outs() << sys::path::parent_path(ArchiveName);
-    outs() << '/';
+    StringRef ParentDir = sys::path::parent_path(ArchiveName);
+    if (!ParentDir.empty())
+      outs() << ParentDir << '/';
   }
   outs() << Name << "\n";
 }




More information about the llvm-commits mailing list