summaryrefslogtreecommitdiffstats
path: root/llvm/tools/llvm-ar/Archive.cpp
diff options
context:
space:
mode:
authorRafael Espindola <rafael.espindola@gmail.com>2013-06-20 13:23:48 +0000
committerRafael Espindola <rafael.espindola@gmail.com>2013-06-20 13:23:48 +0000
commit73dd376467074dffb3a3243985e3b2af10079f3a (patch)
tree318186ad5ae3eb3cab12c5e7b57922ef5e37a174 /llvm/tools/llvm-ar/Archive.cpp
parent2a65c32094201fad938137cfbde654ad2820adba (diff)
downloadbcm5719-llvm-73dd376467074dffb3a3243985e3b2af10079f3a.tar.gz
bcm5719-llvm-73dd376467074dffb3a3243985e3b2af10079f3a.zip
Revert "Don't include directory names in archives."
This reverts commit 184420. Investigating the bot failures. llvm-svn: 184421
Diffstat (limited to 'llvm/tools/llvm-ar/Archive.cpp')
-rw-r--r--llvm/tools/llvm-ar/Archive.cpp9
1 files changed, 8 insertions, 1 deletions
diff --git a/llvm/tools/llvm-ar/Archive.cpp b/llvm/tools/llvm-ar/Archive.cpp
index 520e410e1ac..cac65cf7706 100644
--- a/llvm/tools/llvm-ar/Archive.cpp
+++ b/llvm/tools/llvm-ar/Archive.cpp
@@ -97,8 +97,15 @@ bool ArchiveMember::replaceWith(StringRef newFile, std::string* ErrMsg) {
else
flags &= ~StringTableFlag;
+ // If it has a slash then it has a path
+ bool hasSlash = path.find('/') != std::string::npos;
+ if (hasSlash)
+ flags |= HasPathFlag;
+ else
+ flags &= ~HasPathFlag;
+
// If it has a slash or its over 15 chars then its a long filename format
- if (path.length() > 15)
+ if (hasSlash || path.length() > 15)
flags |= HasLongFilenameFlag;
else
flags &= ~HasLongFilenameFlag;
OpenPOWER on IntegriCloud