diff options
Diffstat (limited to 'tools/llvm-ar/Archive.h')
-rw-r--r-- | tools/llvm-ar/Archive.h | 9 |
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 |