LLVM  8.0.1
Namespaces | Classes | Typedefs | Enumerations | Functions | Variables
llvm::sys::fs Namespace Reference

Namespaces

 detail
 

Classes

class  basic_file_status
 Represents the result of a call to directory_iterator::status(). More...
 
class  directory_entry
 directory_entry - A single entry in a directory. More...
 
class  directory_iterator
 directory_iterator - Iterates through the entries in path. More...
 
class  file_status
 Represents the result of a call to sys::fs::status(). More...
 
class  mapped_file_region
 This class represents a memory mapped file. More...
 
class  recursive_directory_iterator
 recursive_directory_iterator - Same as directory_iterator except for it recurses down into child directories. More...
 
struct  space_info
 space_info - Self explanatory. More...
 
class  TempFile
 Represents a temporary file. More...
 
class  UniqueID
 

Typedefs

using file_t = int
 

Enumerations

enum  file_type {
  file_type::status_error, file_type::file_not_found, file_type::regular_file, file_type::directory_file,
  file_type::symlink_file, file_type::block_file, file_type::character_file, file_type::fifo_file,
  file_type::socket_file, file_type::type_unknown
}
 An enumeration for the file system's view of the type. More...
 
enum  perms {
  no_perms = 0, owner_read = 0400, owner_write = 0200, owner_exe = 0100,
  owner_all = owner_read | owner_write | owner_exe, group_read = 040, group_write = 020, group_exe = 010,
  group_all = group_read | group_write | group_exe, others_read = 04, others_write = 02, others_exe = 01,
  others_all = others_read | others_write | others_exe, all_read = owner_read | group_read | others_read, all_write = owner_write | group_write | others_write, all_exe = owner_exe | group_exe | others_exe,
  all_all = owner_all | group_all | others_all, set_uid_on_exe = 04000, set_gid_on_exe = 02000, sticky_bit = 01000,
  all_perms = all_all | set_uid_on_exe | set_gid_on_exe | sticky_bit, perms_not_known = 0xFFFF
}
 

Functions

perms operator| (perms l, perms r)
 
perms operator & (perms l, perms r)
 
permsoperator|= (perms &l, perms r)
 
permsoperator &= (perms &l, perms r)
 
perms operator~ (perms x)
 
static std::error_code createUniqueFile (const Twine &Model, int &ResultFd, SmallVectorImpl< char > &ResultPath, unsigned Mode, OpenFlags Flags)
 
static std::error_code createTemporaryFile (const Twine &Model, int &ResultFD, llvm::SmallVectorImpl< char > &ResultPath, FSEntity Type)
 
static std::error_code createTemporaryFile (const Twine &Prefix, StringRef Suffix, int &ResultFD, llvm::SmallVectorImpl< char > &ResultPath, FSEntity Type)
 
static std::error_code copy_file_internal (int ReadFD, int WriteFD)
 
Physical Operators
void make_absolute (const Twine &current_directory, SmallVectorImpl< char > &path)
 Make path an absolute path. More...
 
std::error_code make_absolute (SmallVectorImpl< char > &path)
 Make path an absolute path. More...
 
std::error_code create_directories (const Twine &path, bool IgnoreExisting=true, perms Perms=owner_all|group_all)
 Create all the non-existent directories in path. More...
 
std::error_code create_directory (const Twine &path, bool IgnoreExisting=true, perms Perms=owner_all|group_all)
 Create the directory in path. More...
 
std::error_code create_link (const Twine &to, const Twine &from)
 Create a link from from to to. More...
 
std::error_code create_hard_link (const Twine &to, const Twine &from)
 Create a hard link from from to to, or return an error. More...
 
std::error_code real_path (const Twine &path, SmallVectorImpl< char > &output, bool expand_tilde=false)
 Collapse all . More...
 
void expand_tilde (const Twine &path, SmallVectorImpl< char > &output)
 Expands ~ expressions to the user's home directory. More...
 
std::error_code current_path (SmallVectorImpl< char > &result)
 Get the current path. More...
 
std::error_code set_current_path (const Twine &path)
 Set the current path. More...
 
std::error_code remove (const Twine &path, bool IgnoreNonExisting=true)
 Remove path. More...
 
std::error_code remove_directories (const Twine &path, bool IgnoreErrors=true)
 Recursively delete a directory. More...
 
std::error_code rename (const Twine &from, const Twine &to)
 Rename from to to. More...
 
std::error_code copy_file (const Twine &From, const Twine &To)
 Copy the contents of From to To. More...
 
std::error_code copy_file (const Twine &From, int ToFD)
 Copy the contents of From to To. More...
 
std::error_code resize_file (int FD, uint64_t Size)
 Resize path to size. More...
 
ErrorOr< MD5::MD5Resultmd5_contents (int FD)
 Compute an MD5 hash of a file's contents. More...
 
ErrorOr< MD5::MD5Resultmd5_contents (const Twine &Path)
 Version of compute_md5 that doesn't require an open file descriptor. More...
 

Variables

const file_t kInvalidFile
 

Physical Observers

enum  AccessMode { AccessMode::Exist, AccessMode::Write, AccessMode::Execute }
 
enum  CreationDisposition : unsigned { CD_CreateAlways = 0, CD_CreateNew = 1, CD_OpenExisting = 2, CD_OpenAlways = 3 }
 
enum  FileAccess : unsigned { FA_Read = 1, FA_Write = 2 }
 
enum  OpenFlags : unsigned {
  OF_None = 0, F_None = 0, OF_Text = 1, F_Text = 1,
  OF_Append = 2, F_Append = 2, OF_Delete = 4, OF_ChildInherit = 8,
  OF_UpdateAtime = 16
}
 
bool exists (const basic_file_status &status)
 Does file exist? More...
 
std::error_code access (const Twine &Path, AccessMode Mode)
 Can the file be accessed? More...
 
bool exists (const Twine &Path)
 Does file exist? More...
 
bool can_execute (const Twine &Path)
 Can we execute this file? More...
 
bool can_write (const Twine &Path)
 Can we write this file? More...
 
bool equivalent (file_status A, file_status B)
 Do file_status's represent the same thing? More...
 
std::error_code equivalent (const Twine &A, const Twine &B, bool &result)
 Do paths represent the same thing? More...
 
bool equivalent (const Twine &A, const Twine &B)
 Simpler version of equivalent for clients that don't need to differentiate between an error and false. More...
 
std::error_code is_local (const Twine &path, bool &result)
 Is the file mounted on a local filesystem? More...
 
std::error_code is_local (int FD, bool &result)
 Version of is_local accepting an open file descriptor. More...
 
bool is_local (const Twine &Path)
 Simpler version of is_local for clients that don't need to differentiate between an error and false. More...
 
bool is_local (int FD)
 Simpler version of is_local accepting an open file descriptor for clients that don't need to differentiate between an error and false. More...
 
file_type get_file_type (const Twine &Path, bool Follow=true)
 Does status represent a directory? More...
 
bool is_directory (const basic_file_status &status)
 Does status represent a directory? More...
 
std::error_code is_directory (const Twine &path, bool &result)
 Is path a directory? More...
 
bool is_directory (const Twine &Path)
 Simpler version of is_directory for clients that don't need to differentiate between an error and false. More...
 
bool is_regular_file (const basic_file_status &status)
 Does status represent a regular file? More...
 
std::error_code is_regular_file (const Twine &path, bool &result)
 Is path a regular file? More...
 
bool is_regular_file (const Twine &Path)
 Simpler version of is_regular_file for clients that don't need to differentiate between an error and false. More...
 
bool is_symlink_file (const basic_file_status &status)
 Does status represent a symlink file? More...
 
std::error_code is_symlink_file (const Twine &path, bool &result)
 Is path a symlink file? More...
 
bool is_symlink_file (const Twine &Path)
 Simpler version of is_symlink_file for clients that don't need to differentiate between an error and false. More...
 
bool is_other (const basic_file_status &status)
 Does this status represent something that exists but is not a directory or regular file? More...
 
std::error_code is_other (const Twine &path, bool &result)
 Is path something that exists but is not a directory, regular file, or symlink? More...
 
std::error_code status (const Twine &path, file_status &result, bool follow=true)
 Get file status as if by POSIX stat(). More...
 
std::error_code status (int FD, file_status &Result)
 A version for when a file descriptor is already available. More...
 
std::error_code setPermissions (const Twine &Path, perms Permissions)
 Set file permissions. More...
 
ErrorOr< permsgetPermissions (const Twine &Path)
 Get file permissions. More...
 
std::error_code file_size (const Twine &Path, uint64_t &Result)
 Get file size. More...
 
std::error_code setLastAccessAndModificationTime (int FD, TimePoint<> AccessTime, TimePoint<> ModificationTime)
 Set the file modification and access time. More...
 
std::error_code setLastAccessAndModificationTime (int FD, TimePoint<> Time)
 Simpler version that sets both file modification and access time to the same time. More...
 
bool status_known (const basic_file_status &s)
 Is status available? More...
 
std::error_code status_known (const Twine &path, bool &result)
 Is status available? More...
 
std::error_code createUniqueFile (const Twine &Model, int &ResultFD, SmallVectorImpl< char > &ResultPath, unsigned Mode=all_read|all_write)
 Create a uniquely named file. More...
 
std::error_code createUniqueFile (const Twine &Model, SmallVectorImpl< char > &ResultPath, unsigned Mode=all_read|all_write)
 Simpler version for clients that don't want an open file. More...
 
std::error_code createTemporaryFile (const Twine &Prefix, StringRef Suffix, int &ResultFD, SmallVectorImpl< char > &ResultPath)
 Create a file in the system temporary directory. More...
 
std::error_code createTemporaryFile (const Twine &Prefix, StringRef Suffix, SmallVectorImpl< char > &ResultPath)
 Simpler version for clients that don't want an open file. More...
 
std::error_code createUniqueDirectory (const Twine &Prefix, SmallVectorImpl< char > &ResultPath)
 
std::error_code getPotentiallyUniqueFileName (const Twine &Model, SmallVectorImpl< char > &ResultPath)
 Get a unique name, not currently exisiting in the filesystem. More...
 
std::error_code getPotentiallyUniqueTempFileName (const Twine &Prefix, StringRef Suffix, SmallVectorImpl< char > &ResultPath)
 Get a unique temporary file name, not currently exisiting in the filesystem. More...
 
OpenFlags operator| (OpenFlags A, OpenFlags B)
 
OpenFlagsoperator|= (OpenFlags &A, OpenFlags B)
 
FileAccess operator| (FileAccess A, FileAccess B)
 
FileAccessoperator|= (FileAccess &A, FileAccess B)
 
std::error_code openFile (const Twine &Name, int &ResultFD, CreationDisposition Disp, FileAccess Access, OpenFlags Flags, unsigned Mode=0666)
 Opens a file with the specified creation disposition, access mode, and flags and returns a file descriptor. More...
 
Expected< file_topenNativeFile (const Twine &Name, CreationDisposition Disp, FileAccess Access, OpenFlags Flags, unsigned Mode=0666)
 Opens a file with the specified creation disposition, access mode, and flags and returns a platform-specific file object. More...
 
std::error_code openFileForWrite (const Twine &Name, int &ResultFD, CreationDisposition Disp=CD_CreateAlways, OpenFlags Flags=OF_None, unsigned Mode=0666)
 Opens the file with the given name in a write-only or read-write mode, returning its open file descriptor. More...
 
Expected< file_topenNativeFileForWrite (const Twine &Name, CreationDisposition Disp, OpenFlags Flags, unsigned Mode=0666)
 Opens the file with the given name in a write-only or read-write mode, returning its open file descriptor. More...
 
std::error_code openFileForReadWrite (const Twine &Name, int &ResultFD, CreationDisposition Disp, OpenFlags Flags, unsigned Mode=0666)
 Opens the file with the given name in a write-only or read-write mode, returning its open file descriptor. More...
 
Expected< file_topenNativeFileForReadWrite (const Twine &Name, CreationDisposition Disp, OpenFlags Flags, unsigned Mode=0666)
 Opens the file with the given name in a write-only or read-write mode, returning its open file descriptor. More...
 
std::error_code openFileForRead (const Twine &Name, int &ResultFD, OpenFlags Flags=OF_None, SmallVectorImpl< char > *RealPath=nullptr)
 Opens the file with the given name in a read-only mode, returning its open file descriptor. More...
 
Expected< file_topenNativeFileForRead (const Twine &Name, OpenFlags Flags=OF_None, SmallVectorImpl< char > *RealPath=nullptr)
 Opens the file with the given name in a read-only mode, returning its open file descriptor. More...
 
void closeFile (file_t &F)
 Close the file object. More...
 
std::error_code getUniqueID (const Twine Path, UniqueID &Result)
 
ErrorOr< space_infodisk_space (const Twine &Path)
 Get disk space usage information. More...
 
std::string getMainExecutable (const char *argv0, void *MainExecAddr)
 Return the path to the main executable, given the value of argv[0] from program startup and the address of main itself. More...
 

Typedef Documentation

◆ file_t

using llvm::sys::fs::file_t = typedef int

Definition at line 61 of file FileSystem.h.

Enumeration Type Documentation

◆ AccessMode

Enumerator
Exist 
Write 
Execute 

Definition at line 456 of file FileSystem.h.

◆ CreationDisposition

Enumerator
CD_CreateAlways 

CD_CreateAlways - When opening a file:

  • If it already exists, truncate it.
  • If it does not already exist, create a new file.
CD_CreateNew 

CD_CreateNew - When opening a file:

  • If it already exists, fail.
  • If it does not already exist, create a new file.
CD_OpenExisting 

CD_OpenExisting - When opening a file:

  • If it already exists, open the file with the offset set to 0.
  • If it does not already exist, fail.
CD_OpenAlways 

CD_OpenAlways - When opening a file:

  • If it already exists, open the file with the offset set to 0.
  • If it does not already exist, create a new file.

Definition at line 717 of file FileSystem.h.

◆ file_type

An enumeration for the file system's view of the type.

Enumerator
status_error 
file_not_found 
regular_file 
directory_file 
symlink_file 
block_file 
character_file 
fifo_file 
socket_file 
type_unknown 

Definition at line 67 of file FileSystem.h.

◆ FileAccess

Enumerator
FA_Read 
FA_Write 

Definition at line 739 of file FileSystem.h.

◆ OpenFlags

Enumerator
OF_None 
F_None 
OF_Text 

The file should be opened in text mode on platforms that make this distinction.

F_Text 
OF_Append 

The file should be opened in append mode.

F_Append 
OF_Delete 

Delete the file on close. Only makes a difference on windows.

OF_ChildInherit 

When a child process is launched, this file should remain open in the child process.

OF_UpdateAtime 

Force files Atime to be updated on access. Only makes a difference on windows.

Definition at line 744 of file FileSystem.h.

◆ perms

Enumerator
no_perms 
owner_read 
owner_write 
owner_exe 
owner_all 
group_read 
group_write 
group_exe 
group_all 
others_read 
others_write 
others_exe 
others_all 
all_read 
all_write 
all_exe 
all_all 
set_uid_on_exe 
set_gid_on_exe 
sticky_bit 
all_perms 
perms_not_known 

Definition at line 87 of file FileSystem.h.

Function Documentation

◆ access()

std::error_code llvm::sys::fs::access ( const Twine Path,
AccessMode  Mode 
)

Can the file be accessed?

Parameters
PathInput path.
Returns
errc::success if the path can be accessed, otherwise a platform-specific error_code.

Referenced by can_write(), createUniqueEntity(), llvm::pdb::DIARawSymbol::dump(), exists(), GetSymbolRef(), and llvm::LockFileManager::waitForUnlock().

◆ can_execute()

bool llvm::sys::fs::can_execute ( const Twine Path)

Can we execute this file?

Parameters
PathInput path.
Returns
True if we can execute it, false otherwise.

Referenced by exists().

◆ can_write()

bool llvm::sys::fs::can_write ( const Twine Path)
inline

Can we write this file?

Parameters
PathInput path.
Returns
True if we can write to it, false otherwise.

Definition at line 483 of file FileSystem.h.

References access(), B, equivalent(), and Write.

◆ closeFile()

void llvm::sys::fs::closeFile ( file_t F)

Close the file object.

This should be used instead of ::close for portability.

Parameters
FOn input, this is the file to close. On output, the file is set to kInvalidFile.

Referenced by openNativeFileForReadWrite().

◆ copy_file() [1/2]

std::error_code llvm::sys::fs::copy_file ( const Twine From,
const Twine To 
)

Copy the contents of From to To.

Parameters
FromThe path to copy from.
ToThe path to copy to. This is created.

Definition at line 962 of file Path.cpp.

References CD_CreateAlways, copy_file_internal(), OF_None, openFileForRead(), and openFileForWrite().

Referenced by createOnDiskBuffer(), llvm::sys::fs::file_status::file_status(), and llvm::sys::fs::TempFile::keep().

◆ copy_file() [2/2]

std::error_code llvm::sys::fs::copy_file ( const Twine From,
int  ToFD 
)

Copy the contents of From to To.

Parameters
FromThe path to copy from.
ToFDThe open file descriptor of the destination file.

Definition at line 980 of file Path.cpp.

References copy_file_internal(), OF_None, and openFileForRead().

◆ copy_file_internal()

static std::error_code llvm::sys::fs::copy_file_internal ( int  ReadFD,
int  WriteFD 
)
static

Definition at line 938 of file Path.cpp.

References llvm::support::endian::read(), and llvm::support::endian::write().

Referenced by copy_file().

◆ create_directories()

std::error_code llvm::sys::fs::create_directories ( const Twine path,
bool  IgnoreExisting = true,
perms  Perms = owner_all | group_all 
)

Create all the non-existent directories in path.

Parameters
pathDirectories to create.
Returns
errc::success if is_directory(path), otherwise a platform specific error_code. If IgnoreExisting is false, also returns error if the directory already existed.

Definition at line 914 of file Path.cpp.

References create_directory(), llvm::StringRef::empty(), llvm::no_such_file_or_directory, P, llvm::sys::path::parent_path(), and llvm::Twine::toStringRef().

Referenced by llvm::sys::fs::file_status::file_status(), llvm::lto::getThinLTOOutputFile(), llvm::lto::localCache(), and llvm::ThinLTOCodeGenerator::run().

◆ create_directory()

std::error_code llvm::sys::fs::create_directory ( const Twine path,
bool  IgnoreExisting = true,
perms  Perms = owner_all|group_all 
)

Create the directory in path.

Parameters
pathDirectory to create.
Returns
errc::success if is_directory(path), otherwise a platform specific error_code. If IgnoreExisting is false, also returns error if the directory already existed.

Referenced by create_directories(), createUniqueEntity(), and llvm::sys::fs::file_status::file_status().

◆ create_hard_link()

std::error_code llvm::sys::fs::create_hard_link ( const Twine to,
const Twine from 
)

Create a hard link from from to to, or return an error.

Parameters
toThe path to hard link to.
fromThe path to hard link from. This is created.
Returns
errc::success if the link was created, otherwise a platform specific error_code.

Referenced by llvm::sys::fs::file_status::file_status().

◆ create_link()

std::error_code llvm::sys::fs::create_link ( const Twine to,
const Twine from 
)

Create a link from from to to.

The link may be a soft or a hard link, depending on the platform. The caller may not assume which one. Currently on windows it creates a hard link since soft links require extra privileges. On unix, it creates a soft link since hard links don't work on SMB file systems.

Parameters
toThe path to hard link to.
fromThe path to hard link from. This is created.
Returns
errc::success if the link was created, otherwise a platform specific error_code.

Referenced by llvm::sys::fs::file_status::file_status(), and llvm::LockFileManager::LockFileManager().

◆ createTemporaryFile() [1/4]

static std::error_code llvm::sys::fs::createTemporaryFile ( const Twine Model,
int &  ResultFD,
llvm::SmallVectorImpl< char > &  ResultPath,
FSEntity  Type 
)
static

◆ createTemporaryFile() [2/4]

static std::error_code llvm::sys::fs::createTemporaryFile ( const Twine Prefix,
StringRef  Suffix,
int &  ResultFD,
llvm::SmallVectorImpl< char > &  ResultPath,
FSEntity  Type 
)
static

Definition at line 804 of file Path.cpp.

References llvm::StringRef::empty().

Referenced by createTemporaryFile(), and getPotentiallyUniqueTempFileName().

◆ createTemporaryFile() [3/4]

std::error_code llvm::sys::fs::createTemporaryFile ( const Twine Prefix,
StringRef  Suffix,
int &  ResultFD,
SmallVectorImpl< char > &  ResultPath 
)

Create a file in the system temporary directory.

The filename is of the form prefix-random_chars.suffix. Since the directory is not know to the caller, Prefix and Suffix cannot have path separators. The files are created with mode 0600.

This should be used for things like a temporary .s that is removed after running the assembler.

Definition at line 811 of file Path.cpp.

References createTemporaryFile(), and FS_File.

Referenced by llvm::createGraphFilename(), printSymbolizedStackTrace(), and llvm::LTOCodeGenerator::writeMergedModules().

◆ createTemporaryFile() [4/4]

std::error_code llvm::sys::fs::createTemporaryFile ( const Twine Prefix,
StringRef  Suffix,
SmallVectorImpl< char > &  ResultPath 
)

Simpler version for clients that don't want an open file.

An empty file will still be created.

Definition at line 817 of file Path.cpp.

References createTemporaryFile().

◆ createUniqueDirectory()

std::error_code llvm::sys::fs::createUniqueDirectory ( const Twine Prefix,
SmallVectorImpl< char > &  ResultPath 
)

Definition at line 831 of file Path.cpp.

References createUniqueEntity(), llvm::NVPTXISD::Dummy, and FS_Dir.

◆ createUniqueFile() [1/3]

static std::error_code llvm::sys::fs::createUniqueFile ( const Twine Model,
int &  ResultFd,
SmallVectorImpl< char > &  ResultPath,
unsigned  Mode,
OpenFlags  Flags 
)
static

Definition at line 772 of file Path.cpp.

References createUniqueEntity(), and FS_File.

Referenced by llvm::sys::fs::TempFile::create(), and createUniqueFile().

◆ createUniqueFile() [2/3]

std::error_code llvm::sys::fs::createUniqueFile ( const Twine Model,
int &  ResultFD,
SmallVectorImpl< char > &  ResultPath,
unsigned  Mode = all_read | all_write 
)

Create a uniquely named file.

Generates a unique path suitable for a temporary file and then opens it as a file. The name is based on model with '' replaced by a random char in [0-9a-f]. If model is not an absolute path, the temporary file will be created in the current directory.

Example: clang-%%-%%-%%-%%-%%.s => clang-a0-b1-c2-d3-e4.s

This is an atomic operation. Either the file is created and opened, or the file system is left untouched.

The intended use is for files that are to be kept, possibly after renaming them. For example, when running 'clang -c foo.o', the file can be first created as foo-abc123.o and then renamed.

Parameters
ModelName to base unique path off of.
ResultFDSet to the opened file's file descriptor.
ResultPathSet to the opened file's absolute path.
Returns
errc::success if Result{FD,Path} have been successfully set, otherwise a platform-specific error_code.

Definition at line 766 of file Path.cpp.

References createUniqueEntity(), and FS_File.

Referenced by llvm::LockFileManager::LockFileManager().

◆ createUniqueFile() [3/3]

std::error_code llvm::sys::fs::createUniqueFile ( const Twine Model,
SmallVectorImpl< char > &  ResultPath,
unsigned  Mode = all_read | all_write 
)

Simpler version for clients that don't want an open file.

An empty file will still be created.

Definition at line 779 of file Path.cpp.

References createUniqueFile().

◆ current_path()

std::error_code llvm::sys::fs::current_path ( SmallVectorImpl< char > &  result)

Get the current path.

Parameters
resultHolds the current path on return.
Returns
errc::success if the current path has been stored in result, otherwise a platform-specific error_code.

Referenced by ExpandResponseFile(), llvm::sys::fs::file_status::file_status(), make_absolute(), and pathHasTraversal().

◆ disk_space()

ErrorOr<space_info> llvm::sys::fs::disk_space ( const Twine Path)

Get disk space usage information.

Note: Users must be careful about "Time Of Check, Time Of Use" kind of bug. Note: Windows reports results according to the quota allocated to the user.

Parameters
PathInput path.
Returns
a space_info structure filled with the capacity, free, and available space on the device Path is on. A platform specific error_code is returned on error.

Referenced by openNativeFileForReadWrite(), and llvm::pruneCache().

◆ equivalent() [1/3]

bool llvm::sys::fs::equivalent ( file_status  A,
file_status  B 
)

Do file_status's represent the same thing?

Parameters
AInput file_status.
BInput file_status.

assert(status_known(A) || status_known(B));

Returns
True if A and B both represent the same file system entity, false otherwise.

Referenced by can_write(), equivalent(), and llvm::sys::Process::FindInEnvPath().

◆ equivalent() [2/3]

std::error_code llvm::sys::fs::equivalent ( const Twine A,
const Twine B,
bool result 
)

Do paths represent the same thing?

assert(status_known(A) || status_known(B));

Parameters
AInput path A.
BInput path B.
resultSet to true if stat(A) and stat(B) have the same device and inode (or equivalent).
Returns
errc::success if result has been successfully set, otherwise a platform-specific error_code.

◆ equivalent() [3/3]

bool llvm::sys::fs::equivalent ( const Twine A,
const Twine B 
)
inline

Simpler version of equivalent for clients that don't need to differentiate between an error and false.

Definition at line 512 of file FileSystem.h.

References equivalent(), and is_local().

◆ exists() [1/2]

bool llvm::sys::fs::exists ( const basic_file_status status)

Does file exist?

Parameters
statusA basic_file_status previously returned from stat.
Returns
True if the file represented by status exists, false if it does not.

Definition at line 1022 of file Path.cpp.

References status_known(), and llvm::sys::fs::basic_file_status::type().

Referenced by llvm::sys::fs::file_status::file_status(), llvm::sys::Process::FindInEnvPath(), findInputFile(), getFilename(), is_other(), llvm::LockFileManager::LockFileManager(), llvm::LockFileManager::waitForUnlock(), and writeGeneratedObject().

◆ exists() [2/2]

bool llvm::sys::fs::exists ( const Twine Path)
inline

Does file exist?

Parameters
PathInput path.
Returns
True if it exists, false otherwise.

Definition at line 469 of file FileSystem.h.

References access(), can_execute(), and Exist.

◆ expand_tilde()

void llvm::sys::fs::expand_tilde ( const Twine path,
SmallVectorImpl< char > &  output 
)

Expands ~ expressions to the user's home directory.

On Unix ~user directories are resolved as well.

Parameters
pathThe path to resolve.

Referenced by llvm::sys::fs::file_status::file_status().

◆ file_size()

std::error_code llvm::sys::fs::file_size ( const Twine Path,
uint64_t &  Result 
)
inline

Get file size.

Parameters
PathInput path.
ResultSet to the size of the file in Path.
Returns
errc::success if result has been successfully set, otherwise a platform-specific error_code.

Definition at line 679 of file FileSystem.h.

References llvm::sys::fs::basic_file_status::getSize(), setLastAccessAndModificationTime(), and status().

Referenced by llvm::xray::loadInstrumentationMap(), llvm::xray::loadProfile(), and llvm::xray::loadTraceFile().

◆ get_file_type()

file_type llvm::sys::fs::get_file_type ( const Twine Path,
bool  Follow = true 
)

Does status represent a directory?

Parameters
PathThe path to get the type of.
FollowFor symbolic links, indicates whether to return the file type of the link itself, or of the target.
Returns
A value from the file_type enumeration indicating the type of file.

Definition at line 1030 of file Path.cpp.

References status(), and llvm::sys::fs::basic_file_status::type().

Referenced by is_local().

◆ getMainExecutable()

std::string llvm::sys::fs::getMainExecutable ( const char argv0,
void *  MainExecAddr 
)

Return the path to the main executable, given the value of argv[0] from program startup and the address of main itself.

In extremis, this function may fail and return an empty path.

Referenced by printSymbolizedStackTrace().

◆ getPermissions()

ErrorOr< perms > llvm::sys::fs::getPermissions ( const Twine Path)

Get file permissions.

Parameters
PathFile to get permissions from.
Returns
the permissions if they were successfully retrieved, otherwise a platform-specific error_code.
Note
On Windows, if the file does not have the FILE_ATTRIBUTE_READONLY attribute, all_all will be returned. Otherwise, all_read | all_exe will be returned.

Definition at line 1096 of file Path.cpp.

References Name, llvm::sys::fs::basic_file_status::permissions(), and status().

Referenced by is_symlink_file().

◆ getPotentiallyUniqueFileName()

std::error_code llvm::sys::fs::getPotentiallyUniqueFileName ( const Twine Model,
SmallVectorImpl< char > &  ResultPath 
)

Get a unique name, not currently exisiting in the filesystem.

Subject to race conditions, prefer to use createUniqueFile instead.

Similar to createUniqueFile, but instead of creating a file only checks if it exists. This function is subject to race conditions, if you want to use the returned name to actually create a file, use createUniqueFile instead.

Definition at line 839 of file Path.cpp.

References createUniqueEntity(), llvm::NVPTXISD::Dummy, and FS_Name.

◆ getPotentiallyUniqueTempFileName()

std::error_code llvm::sys::fs::getPotentiallyUniqueTempFileName ( const Twine Prefix,
StringRef  Suffix,
SmallVectorImpl< char > &  ResultPath 
)

Get a unique temporary file name, not currently exisiting in the filesystem.

Subject to race conditions, prefer to use createTemporaryFile instead.

Similar to createTemporaryFile, but instead of creating a file only checks if it exists. This function is subject to race conditions, if you want to use the returned name to actually create a file, use createTemporaryFile instead.

Definition at line 846 of file Path.cpp.

References createTemporaryFile(), llvm::NVPTXISD::Dummy, and FS_Name.

◆ getUniqueID()

std::error_code llvm::sys::fs::getUniqueID ( const Twine  Path,
UniqueID Result 
)

◆ is_directory() [1/3]

bool llvm::sys::fs::is_directory ( const basic_file_status status)

Does status represent a directory?

Parameters
statusA basic_file_status previously returned from status.
Returns
status.type() == file_type::directory_file.

Definition at line 1037 of file Path.cpp.

References llvm::sys::fs::basic_file_status::type().

Referenced by is_directory(), is_local(), is_other(), llvm::pruneCache(), and llvm::ThinLTOCodeGenerator::run().

◆ is_directory() [2/3]

std::error_code llvm::sys::fs::is_directory ( const Twine path,
bool result 
)

Is path a directory?

Parameters
pathInput path.
resultSet to true if path is a directory (after following symlinks, false if it is not. Undefined otherwise.
Returns
errc::success if result has been successfully set, otherwise a platform-specific error_code.

Definition at line 1041 of file Path.cpp.

References is_directory(), and status().

◆ is_directory() [3/3]

bool llvm::sys::fs::is_directory ( const Twine Path)
inline

Simpler version of is_directory for clients that don't need to differentiate between an error and false.

Definition at line 568 of file FileSystem.h.

References is_directory(), and is_regular_file().

◆ is_local() [1/4]

std::error_code llvm::sys::fs::is_local ( const Twine path,
bool result 
)

Is the file mounted on a local filesystem?

Parameters
pathInput path.
resultSet to true if path is on fixed media such as a hard disk, false if it is not.
Returns
errc::success if result has been successfully set, otherwise a platform specific error_code.

Referenced by equivalent(), is_local(), and pathHasTraversal().

◆ is_local() [2/4]

std::error_code llvm::sys::fs::is_local ( int  FD,
bool result 
)

Version of is_local accepting an open file descriptor.

◆ is_local() [3/4]

bool llvm::sys::fs::is_local ( const Twine Path)
inline

Simpler version of is_local for clients that don't need to differentiate between an error and false.

Definition at line 531 of file FileSystem.h.

References is_local().

◆ is_local() [4/4]

bool llvm::sys::fs::is_local ( int  FD)
inline

Simpler version of is_local accepting an open file descriptor for clients that don't need to differentiate between an error and false.

Definition at line 538 of file FileSystem.h.

References get_file_type(), is_directory(), and is_local().

◆ is_other() [1/2]

bool llvm::sys::fs::is_other ( const basic_file_status status)

Does this status represent something that exists but is not a directory or regular file?

Parameters
statusA basic_file_status previously returned from status.
Returns
exists(s) && !is_regular_file(s) && !is_directory(s)

Definition at line 1073 of file Path.cpp.

References exists(), is_directory(), and is_regular_file().

Referenced by is_other(), and is_symlink_file().

◆ is_other() [2/2]

std::error_code llvm::sys::fs::is_other ( const Twine path,
bool result 
)

Is path something that exists but is not a directory, regular file, or symlink?

Parameters
pathInput path.
resultSet to true if path exists, but is not a directory, regular file, or a symlink, false if it does not. Undefined otherwise.
Returns
errc::success if result has been successfully set, otherwise a platform-specific error_code.

Definition at line 1079 of file Path.cpp.

References is_other(), and status().

◆ is_regular_file() [1/3]

bool llvm::sys::fs::is_regular_file ( const basic_file_status status)

Does status represent a regular file?

Parameters
statusA basic_file_status previously returned from status.
Returns
status_known(status) && status.type() == file_type::regular_file.

Definition at line 1049 of file Path.cpp.

References llvm::sys::fs::basic_file_status::type().

Referenced by findSrcDirMap(), is_directory(), is_other(), and is_regular_file().

◆ is_regular_file() [2/3]

std::error_code llvm::sys::fs::is_regular_file ( const Twine path,
bool result 
)

Is path a regular file?

Parameters
pathInput path.
resultSet to true if path is a regular file (after following symlinks), false if it is not. Undefined otherwise.
Returns
errc::success if result has been successfully set, otherwise a platform-specific error_code.

Definition at line 1053 of file Path.cpp.

References is_regular_file(), and status().

◆ is_regular_file() [3/3]

bool llvm::sys::fs::is_regular_file ( const Twine Path)
inline

Simpler version of is_regular_file for clients that don't need to differentiate between an error and false.

Definition at line 590 of file FileSystem.h.

References is_regular_file(), and is_symlink_file().

◆ is_symlink_file() [1/3]

bool llvm::sys::fs::is_symlink_file ( const basic_file_status status)

Does status represent a symlink file?

Parameters
statusA basic_file_status previously returned from status.
Returns
status_known(status) && status.type() == file_type::symlink_file.

Definition at line 1061 of file Path.cpp.

References llvm::sys::fs::basic_file_status::type().

Referenced by is_regular_file(), and is_symlink_file().

◆ is_symlink_file() [2/3]

std::error_code llvm::sys::fs::is_symlink_file ( const Twine path,
bool result 
)

Is path a symlink file?

Parameters
pathInput path.
resultSet to true if path is a symlink file, false if it is not. Undefined otherwise.
Returns
errc::success if result has been successfully set, otherwise a platform-specific error_code.

Definition at line 1065 of file Path.cpp.

References is_symlink_file(), and status().

◆ is_symlink_file() [3/3]

bool llvm::sys::fs::is_symlink_file ( const Twine Path)
inline

Simpler version of is_symlink_file for clients that don't need to differentiate between an error and false.

Definition at line 614 of file FileSystem.h.

References getPermissions(), is_other(), is_symlink_file(), setPermissions(), and status().

◆ make_absolute() [1/2]

void llvm::sys::fs::make_absolute ( const Twine current_directory,
SmallVectorImpl< char > &  path 
)

◆ make_absolute() [2/2]

std::error_code llvm::sys::fs::make_absolute ( SmallVectorImpl< char > &  path)

Make path an absolute path.

Makes path absolute using the current directory if it is not already. An empty path will result in the current directory.

/absolute/path => /absolute/path relative/../path => <current-directory>/relative/../path

Parameters
pathA path that is modified to be an absolute path.
Returns
errc::success if path has been made absolute, otherwise a platform-specific error_code.

Definition at line 902 of file Path.cpp.

References current_path(), llvm::sys::path::is_absolute(), and make_absolute().

◆ md5_contents() [1/2]

ErrorOr< MD5::MD5Result > llvm::sys::fs::md5_contents ( int  FD)

Compute an MD5 hash of a file's contents.

Parameters
FDInput file descriptor.
Returns
An MD5Result with the hash computed, if successful, otherwise a std::error_code.

Definition at line 992 of file Path.cpp.

References llvm::MD5::final(), llvm::makeArrayRef(), llvm::support::endian::read(), and llvm::MD5::update().

Referenced by llvm::sys::fs::file_status::file_status(), and md5_contents().

◆ md5_contents() [2/2]

ErrorOr< MD5::MD5Result > llvm::sys::fs::md5_contents ( const Twine Path)

Version of compute_md5 that doesn't require an open file descriptor.

Definition at line 1012 of file Path.cpp.

References md5_contents(), OF_None, and openFileForRead().

◆ openFile()

std::error_code llvm::sys::fs::openFile ( const Twine Name,
int &  ResultFD,
CreationDisposition  Disp,
FileAccess  Access,
OpenFlags  Flags,
unsigned  Mode = 0666 
)

Opens a file with the specified creation disposition, access mode, and flags and returns a file descriptor.

The caller is responsible for closing the file descriptor once they are finished with it.

Parameters
NameThe path of the file to open, relative or absolute.
ResultFDIf the file could be opened successfully, its descriptor is stored in this location. Otherwise, this is set to -1.
DispValue specifying the existing-file behavior.
AccessValue specifying whether to open the file in read, write, or read-write mode.
FlagsAdditional flags.
ModeThe access permissions of the file, represented in octal.
Returns
errc::success if Name has been opened, otherwise a platform-specific error_code.

Referenced by openFileForReadWrite(), openFileForWrite(), and operator|=().

◆ openFileForRead()

std::error_code llvm::sys::fs::openFileForRead ( const Twine Name,
int &  ResultFD,
OpenFlags  Flags = OF_None,
SmallVectorImpl< char > *  RealPath = nullptr 
)

Opens the file with the given name in a read-only mode, returning its open file descriptor.

The caller is responsible for closing the file descriptor once they are finished with it.

Parameters
NameThe path of the file to open, relative or absolute.
ResultFDIf the file could be opened successfully, its descriptor is stored in this location. Otherwise, this is set to -1.
RealPathIf nonnull, extra work is done to determine the real path of the opened file, and that path is stored in this location.
Returns
errc::success if Name has been opened, otherwise a platform-specific error_code.

Referenced by copy_file(), llvm::vfs::FileSystem::getBufferForFile(), llvm::NewArchiveMember::getFile(), llvm::MemoryBuffer::getFileAsStream(), getFileAux(), llvm::xray::loadInstrumentationMap(), llvm::xray::loadProfile(), llvm::xray::loadTraceFile(), llvm::lto::localCache(), md5_contents(), openNativeFileForReadWrite(), pathHasTraversal(), and llvm::vfs::InMemoryFileSystem::useNormalizedPaths().

◆ openFileForReadWrite()

std::error_code llvm::sys::fs::openFileForReadWrite ( const Twine Name,
int &  ResultFD,
CreationDisposition  Disp,
OpenFlags  Flags,
unsigned  Mode = 0666 
)
inline

Opens the file with the given name in a write-only or read-write mode, returning its open file descriptor.

If the file does not exist, it is created.

The caller is responsible for closing the file descriptor once they are finished with it.

Parameters
NameThe path of the file to open, relative or absolute.
ResultFDIf the file could be opened successfully, its descriptor is stored in this location. Otherwise, this is set to -1.
FlagsAdditional flags used to determine whether the file should be opened in, for example, read-write or in write-only mode.
ModeThe access permissions of the file, represented in octal.
Returns
errc::success if Name has been opened, otherwise a platform-specific error_code.

Definition at line 992 of file FileSystem.h.

References FA_Read, FA_Write, and openFile().

Referenced by createUniqueEntity(), getFD(), and getReadWriteFile().

◆ openFileForWrite()

std::error_code llvm::sys::fs::openFileForWrite ( const Twine Name,
int &  ResultFD,
CreationDisposition  Disp = CD_CreateAlways,
OpenFlags  Flags = OF_None,
unsigned  Mode = 0666 
)
inline

Opens the file with the given name in a write-only or read-write mode, returning its open file descriptor.

If the file does not exist, it is created.

The caller is responsible for closing the file descriptor once they are finished with it.

Parameters
NameThe path of the file to open, relative or absolute.
ResultFDIf the file could be opened successfully, its descriptor is stored in this location. Otherwise, this is set to -1.
FlagsAdditional flags used to determine whether the file should be opened in, for example, read-write or in write-only mode.
ModeThe access permissions of the file, represented in octal.
Returns
errc::success if Name has been opened, otherwise a platform-specific error_code.

Definition at line 951 of file FileSystem.h.

References FA_Write, and openFile().

Referenced by copy_file(), llvm::TarWriter::create(), getFD(), and llvm::WriteGraph().

◆ openNativeFile()

Expected<file_t> llvm::sys::fs::openNativeFile ( const Twine Name,
CreationDisposition  Disp,
FileAccess  Access,
OpenFlags  Flags,
unsigned  Mode = 0666 
)

Opens a file with the specified creation disposition, access mode, and flags and returns a platform-specific file object.

The caller is responsible for closing the file object once they are finished with it.

Parameters
NameThe path of the file to open, relative or absolute.
DispValue specifying the existing-file behavior.
AccessValue specifying whether to open the file in read, write, or read-write mode.
FlagsAdditional flags.
ModeThe access permissions of the file, represented in octal.
Returns
errc::success if Name has been opened, otherwise a platform-specific error_code.

Referenced by openNativeFileForReadWrite(), openNativeFileForWrite(), and operator|=().

◆ openNativeFileForRead()

Expected<file_t> llvm::sys::fs::openNativeFileForRead ( const Twine Name,
OpenFlags  Flags = OF_None,
SmallVectorImpl< char > *  RealPath = nullptr 
)

Opens the file with the given name in a read-only mode, returning its open file descriptor.

The caller is responsible for closing the freeing the file once they are finished with it.

Parameters
NameThe path of the file to open, relative or absolute.
RealPathIf nonnull, extra work is done to determine the real path of the opened file, and that path is stored in this location.
Returns
a platform-specific file descriptor if Name has been opened, otherwise an error object.

Referenced by openNativeFileForReadWrite().

◆ openNativeFileForReadWrite()

Expected<file_t> llvm::sys::fs::openNativeFileForReadWrite ( const Twine Name,
CreationDisposition  Disp,
OpenFlags  Flags,
unsigned  Mode = 0666 
)
inline

Opens the file with the given name in a write-only or read-write mode, returning its open file descriptor.

If the file does not exist, it is created.

The caller is responsible for closing the freeing the file once they are finished with it.

Parameters
NameThe path of the file to open, relative or absolute.
FlagsAdditional flags used to determine whether the file should be opened in, for example, read-write or in write-only mode.
ModeThe access permissions of the file, represented in octal.
Returns
a platform-specific file descriptor if Name has been opened, otherwise an error object.

Definition at line 1012 of file FileSystem.h.

References closeFile(), disk_space(), F(), FA_Read, FA_Write, getUniqueID(), OF_None, openFileForRead(), openNativeFile(), and openNativeFileForRead().

◆ openNativeFileForWrite()

Expected<file_t> llvm::sys::fs::openNativeFileForWrite ( const Twine Name,
CreationDisposition  Disp,
OpenFlags  Flags,
unsigned  Mode = 0666 
)
inline

Opens the file with the given name in a write-only or read-write mode, returning its open file descriptor.

If the file does not exist, it is created.

The caller is responsible for closing the freeing the file once they are finished with it.

Parameters
NameThe path of the file to open, relative or absolute.
FlagsAdditional flags used to determine whether the file should be opened in, for example, read-write or in write-only mode.
ModeThe access permissions of the file, represented in octal.
Returns
a platform-specific file descriptor if Name has been opened, otherwise an error object.

Definition at line 970 of file FileSystem.h.

References FA_Write, and openNativeFile().

◆ operator &()

perms llvm::sys::fs::operator& ( perms  l,
perms  r 
)
inline

Definition at line 117 of file FileSystem.h.

◆ operator &=()

perms& llvm::sys::fs::operator&= ( perms l,
perms  r 
)
inline

Definition at line 125 of file FileSystem.h.

◆ operator|() [1/3]

perms llvm::sys::fs::operator| ( perms  l,
perms  r 
)
inline

Definition at line 113 of file FileSystem.h.

◆ operator|() [2/3]

OpenFlags llvm::sys::fs::operator| ( OpenFlags  A,
OpenFlags  B 
)
inline

Definition at line 879 of file FileSystem.h.

◆ operator|() [3/3]

FileAccess llvm::sys::fs::operator| ( FileAccess  A,
FileAccess  B 
)
inline

Definition at line 888 of file FileSystem.h.

◆ operator|=() [1/3]

perms& llvm::sys::fs::operator|= ( perms l,
perms  r 
)
inline

Definition at line 121 of file FileSystem.h.

◆ operator|=() [2/3]

OpenFlags& llvm::sys::fs::operator|= ( OpenFlags A,
OpenFlags  B 
)
inline

Definition at line 883 of file FileSystem.h.

References B.

◆ operator|=() [3/3]

FileAccess& llvm::sys::fs::operator|= ( FileAccess A,
FileAccess  B 
)
inline

Definition at line 892 of file FileSystem.h.

References B, Name, openFile(), and openNativeFile().

◆ operator~()

perms llvm::sys::fs::operator~ ( perms  x)
inline

Definition at line 129 of file FileSystem.h.

◆ real_path()

std::error_code llvm::sys::fs::real_path ( const Twine path,
SmallVectorImpl< char > &  output,
bool  expand_tilde = false 
)

Collapse all .

and .. patterns, resolve all symlinks, and optionally expand ~ expressions to the user's home directory.

Parameters
pathThe path to resolve.
outputThe location to store the resolved path.
expand_tildeIf true, resolves ~ expressions to the user's home directory.

Referenced by llvm::sys::fs::file_status::file_status(), and pathHasTraversal().

◆ remove()

std::error_code llvm::sys::fs::remove ( const Twine path,
bool  IgnoreNonExisting = true 
)

◆ remove_directories()

std::error_code llvm::sys::fs::remove_directories ( const Twine path,
bool  IgnoreErrors = true 
)

Recursively delete a directory.

Parameters
pathInput path.
Returns
errc::success if path has been removed or didn't exist, otherwise a platform-specific error code.

Referenced by llvm::sys::fs::file_status::file_status().

◆ rename()

std::error_code llvm::sys::fs::rename ( const Twine from,
const Twine to 
)

Rename from to to.

Files are renamed as if by POSIX rename(), except that on Windows there may be a short interval of time during which the destination file does not exist.

Parameters
fromThe path to rename from.
toThe path to rename to. This is created.

Referenced by llvm::sys::fs::file_status::file_status().

◆ resize_file()

std::error_code llvm::sys::fs::resize_file ( int  FD,
uint64_t  Size 
)

Resize path to size.

File is resized as if by POSIX truncate().

Parameters
FDInput file descriptor.
SizeSize to resize to.
Returns
errc::success if path has been resized to size, otherwise a platform-specific error_code.

Referenced by createOnDiskBuffer(), and llvm::sys::fs::file_status::file_status().

◆ set_current_path()

std::error_code llvm::sys::fs::set_current_path ( const Twine path)

Set the current path.

Parameters
pathThe path to set.
Returns
errc::success if the current path was successfully set, otherwise a platform-specific error_code.

Referenced by llvm::sys::fs::file_status::file_status(), and pathHasTraversal().

◆ setLastAccessAndModificationTime() [1/2]

std::error_code llvm::sys::fs::setLastAccessAndModificationTime ( int  FD,
TimePoint<>  AccessTime,
TimePoint<>  ModificationTime 
)

Set the file modification and access time.

Returns
errc::success if the file times were successfully set, otherwise a platform-specific error_code or errc::function_not_supported on platforms where the functionality isn't available.

Referenced by file_size(), and setLastAccessAndModificationTime().

◆ setLastAccessAndModificationTime() [2/2]

std::error_code llvm::sys::fs::setLastAccessAndModificationTime ( int  FD,
TimePoint<>  Time 
)
inline

Simpler version that sets both file modification and access time to the same time.

Definition at line 698 of file FileSystem.h.

References setLastAccessAndModificationTime(), and status_known().

◆ setPermissions()

std::error_code llvm::sys::fs::setPermissions ( const Twine Path,
perms  Permissions 
)

Set file permissions.

Parameters
PathFile to set permissions on.
PermissionsNew file permissions.
Returns
errc::success if the permissions were successfully set, otherwise a platform-specific error_code.
Note
On Windows, all permissions except *_write are ignored. Using any of owner_write, group_write, or all_write will make the file writable. Otherwise, the file will be marked as read-only.

Referenced by is_symlink_file().

◆ status() [1/2]

std::error_code llvm::sys::fs::status ( const Twine path,
file_status result,
bool  follow = true 
)

◆ status() [2/2]

std::error_code llvm::sys::fs::status ( int  FD,
file_status Result 
)

A version for when a file descriptor is already available.

◆ status_known() [1/2]

bool llvm::sys::fs::status_known ( const basic_file_status s)

Is status available?

Parameters
sInput file status.
Returns
True if status() != status_error.

Definition at line 1026 of file Path.cpp.

References llvm::sys::fs::basic_file_status::type().

Referenced by exists(), and setLastAccessAndModificationTime().

◆ status_known() [2/2]

std::error_code llvm::sys::fs::status_known ( const Twine path,
bool result 
)

Is status available?

Parameters
pathInput path.
resultSet to true if status() != status_error.
Returns
errc::success if result has been successfully set, otherwise a platform-specific error_code.

Variable Documentation

◆ kInvalidFile

const file_t llvm::sys::fs::kInvalidFile