From: Jordan Rupprecht Date: Wed, 6 Feb 2019 21:50:45 +0000 (+0000) Subject: [llvm-ar] Remove leading slash when printing thin archive members X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=360b8e580f3b92a0fe91c981fe25215fe3baf4b0;p=llvm [llvm-ar] Remove leading slash when printing thin archive members Reviewers: ruiu Subscribers: llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D57845 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@353347 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/test/tools/llvm-ar/print-thin-archive-path.test b/test/tools/llvm-ar/print-thin-archive-path.test new file mode 100644 index 00000000000..f6cb0cf7518 --- /dev/null +++ b/test/tools/llvm-ar/print-thin-archive-path.test @@ -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 diff --git a/tools/llvm-ar/llvm-ar.cpp b/tools/llvm-ar/llvm-ar.cpp index 99dc7fdd6d7..0119ec502e5 100644 --- a/tools/llvm-ar/llvm-ar.cpp +++ b/tools/llvm-ar/llvm-ar.cpp @@ -429,8 +429,9 @@ static void doDisplayTable(StringRef Name, const object::Archive::Child &C) { } 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"; }