aboutsummaryrefslogtreecommitdiffstats
path: root/tools/llvm-ar/Archive.h
diff options
context:
space:
mode:
Diffstat (limited to 'tools/llvm-ar/Archive.h')
-rw-r--r--tools/llvm-ar/Archive.h9
1 files changed, 7 insertions, 2 deletions
diff --git a/tools/llvm-ar/Archive.h b/tools/llvm-ar/Archive.h
index 3748999..79d9587 100644
--- a/tools/llvm-ar/Archive.h
+++ b/tools/llvm-ar/Archive.h
@@ -52,8 +52,9 @@ class ArchiveMember : public ilist_node<ArchiveMember> {
SVR4SymbolTableFlag = 1, ///< Member is a SVR4 symbol table
BSD4SymbolTableFlag = 2, ///< Member is a BSD4 symbol table
BitcodeFlag = 4, ///< Member is bitcode
- HasLongFilenameFlag = 8, ///< Member uses the long filename syntax
- StringTableFlag = 16 ///< Member is an ar(1) format string table
+ HasPathFlag = 8, ///< Member has a full or partial path
+ HasLongFilenameFlag = 16, ///< Member uses the long filename syntax
+ StringTableFlag = 32 ///< Member is an ar(1) format string table
};
/// @}
@@ -124,6 +125,10 @@ class ArchiveMember : public ilist_node<ArchiveMember> {
/// @brief Determine if this member is a bitcode file.
bool isBitcode() const { return flags&BitcodeFlag; }
+ /// @returns true iff the file name contains a path (directory) component.
+ /// @brief Determine if the member has a path
+ bool hasPath() const { return flags&HasPathFlag; }
+
/// Long filenames are an artifact of the ar(1) file format which allows
/// up to sixteen characters in its header and doesn't allow a path
/// separator character (/). To avoid this, a "long format" member name is