diff options
| author | Rafael Espindola <rafael.espindola@gmail.com> | 2013-06-20 13:23:48 +0000 |
|---|---|---|
| committer | Rafael Espindola <rafael.espindola@gmail.com> | 2013-06-20 13:23:48 +0000 |
| commit | 73dd376467074dffb3a3243985e3b2af10079f3a (patch) | |
| tree | 318186ad5ae3eb3cab12c5e7b57922ef5e37a174 /llvm/tools/llvm-ar/Archive.cpp | |
| parent | 2a65c32094201fad938137cfbde654ad2820adba (diff) | |
| download | bcm5719-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.cpp | 9 |
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; |

