mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-01-12 17:32:19 +00:00
For PR351:Remove the file type checking methods (now in sys::Path)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18846 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
ca76740633
commit
d99eaa3c1f
@ -22,27 +22,27 @@ namespace llvm {
|
||||
/// CheckMagic - Returns true IFF the file named FN begins with Magic. FN must
|
||||
/// name a readable file.
|
||||
///
|
||||
bool CheckMagic (const std::string &FN, const std::string &Magic);
|
||||
//bool CheckMagic (const std::string &FN, const std::string &Magic);
|
||||
|
||||
/// IsArchive - Returns true IFF the file named FN appears to be a "ar" library
|
||||
/// archive. The file named FN must exist.
|
||||
///
|
||||
bool IsArchive (const std::string &FN);
|
||||
//bool IsArchive (const std::string &FN);
|
||||
|
||||
/// IsBytecode - Returns true IFF the file named FN appears to be an LLVM
|
||||
/// bytecode file. The file named FN must exist.
|
||||
///
|
||||
bool IsBytecode (const std::string &FN);
|
||||
//bool IsBytecode (const std::string &FN);
|
||||
|
||||
/// IsSharedObject - Returns trus IFF the file named FN appears to be a shared
|
||||
/// object with an ELF header. The file named FN must exist.
|
||||
///
|
||||
bool IsSharedObject(const std::string &FN);
|
||||
//bool IsSharedObject(const std::string &FN);
|
||||
|
||||
/// FileOpenable - Returns true IFF Filename names an existing regular file
|
||||
/// which we can successfully open.
|
||||
///
|
||||
bool FileOpenable(const std::string &Filename);
|
||||
//bool FileOpenable(const std::string &Filename);
|
||||
|
||||
/// DiffFiles - Compare the two files specified, returning true if they are
|
||||
/// different or if there is a file error. If you specify a string to fill in
|
||||
|
@ -26,60 +26,6 @@
|
||||
#include <iostream>
|
||||
using namespace llvm;
|
||||
|
||||
/// CheckMagic - Returns true IFF the file named FN begins with Magic. FN must
|
||||
/// name a readable file.
|
||||
///
|
||||
bool llvm::CheckMagic(const std::string &FN, const std::string &Magic) {
|
||||
char *buf = (char*)alloca(1 + Magic.size());
|
||||
std::ifstream f(FN.c_str());
|
||||
f.read(buf, Magic.size());
|
||||
buf[Magic.size()] = '\0';
|
||||
return Magic == buf;
|
||||
}
|
||||
|
||||
/// IsArchive - Returns true IFF the file named FN appears to be a "ar" library
|
||||
/// archive. The file named FN must exist.
|
||||
///
|
||||
bool llvm::IsArchive(const std::string &FN) {
|
||||
// Inspect the beginning of the file to see if it contains the "ar"
|
||||
// library archive format magic string.
|
||||
return CheckMagic(FN, "!<arch>\012");
|
||||
}
|
||||
|
||||
/// IsBytecode - Returns true IFF the file named FN appears to be an LLVM
|
||||
/// bytecode file. The file named FN must exist.
|
||||
///
|
||||
bool llvm::IsBytecode(const std::string &FN) {
|
||||
// Inspect the beginning of the file to see if it contains the LLVM
|
||||
// bytecode format magic string.
|
||||
return CheckMagic(FN, "llvm") || CheckMagic(FN, "llvc");
|
||||
}
|
||||
|
||||
/// IsSharedObject - Returns trus IFF the file named FN appears to be a shared
|
||||
/// object with an ELF header. The file named FN must exist.
|
||||
///
|
||||
bool llvm::IsSharedObject(const std::string &FN) {
|
||||
// Inspect the beginning of the file to see if it contains the ELF shared
|
||||
// object magic string.
|
||||
static const char elfMagic[] = { 0x7f, 'E', 'L', 'F', '\0' };
|
||||
return CheckMagic(FN, elfMagic);
|
||||
}
|
||||
|
||||
/// FileOpenable - Returns true IFF Filename names an existing regular
|
||||
/// file which we can successfully open.
|
||||
///
|
||||
bool llvm::FileOpenable(const std::string &Filename) {
|
||||
struct stat s;
|
||||
if (stat (Filename.c_str (), &s) == -1)
|
||||
return false; // Cannot stat file
|
||||
if (!S_ISREG (s.st_mode))
|
||||
return false; // File is not a regular file
|
||||
std::ifstream FileStream (Filename.c_str ());
|
||||
if (!FileStream)
|
||||
return false; // File is not openable
|
||||
return true;
|
||||
}
|
||||
|
||||
/// DiffFiles - Compare the two files specified, returning true if they are
|
||||
/// different or if there is a file error. If you specify a string to fill in
|
||||
/// for the error option, it will set the string to an error message if an error
|
||||
|
Loading…
x
Reference in New Issue
Block a user