mirror of
https://github.com/RPCSX/llvm.git
synced 2024-11-29 14:40:25 +00:00
System/Path: Add isObjectFile().
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114032 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
765c4d9477
commit
8a26f81889
@ -342,6 +342,17 @@ namespace sys {
|
|||||||
/// @brief Determine if the path references a dynamic library.
|
/// @brief Determine if the path references a dynamic library.
|
||||||
bool isDynamicLibrary() const;
|
bool isDynamicLibrary() const;
|
||||||
|
|
||||||
|
/// This function determines if the path name in the object references a
|
||||||
|
/// native object file by looking at it's magic number. The term object
|
||||||
|
/// file is defined as "an organized collection of separate, named
|
||||||
|
/// sequences of binary data." This covers the obvious file formats such as
|
||||||
|
/// COFF and ELF, but it also includes llvm ir bitcode, archives,
|
||||||
|
/// libraries, etc...
|
||||||
|
/// @returns true if the file starts with the magic number for an object
|
||||||
|
/// file.
|
||||||
|
/// @brief Determine if the path references an object file.
|
||||||
|
bool isObjectFile() const;
|
||||||
|
|
||||||
/// This function determines if the path name references an existing file
|
/// This function determines if the path name references an existing file
|
||||||
/// or directory in the file system.
|
/// or directory in the file system.
|
||||||
/// @returns true if the pathname references an existing file or
|
/// @returns true if the pathname references an existing file or
|
||||||
|
@ -156,6 +156,20 @@ Path::isDynamicLibrary() const {
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool
|
||||||
|
Path::isObjectFile() const {
|
||||||
|
std::string Magic;
|
||||||
|
if (getMagicNumber(Magic, 64))
|
||||||
|
if (IdentifyFileType(Magic.c_str(),
|
||||||
|
static_cast<unsigned>(Magic.length()))
|
||||||
|
!= Unknown_FileType) {
|
||||||
|
// Everything in LLVMFileType is currently an object file.
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
Path
|
Path
|
||||||
Path::FindLibrary(std::string& name) {
|
Path::FindLibrary(std::string& name) {
|
||||||
std::vector<sys::Path> LibPaths;
|
std::vector<sys::Path> LibPaths;
|
||||||
|
Loading…
Reference in New Issue
Block a user