summaryrefslogtreecommitdiff
path: root/llvm/lib/Support/VirtualFileSystem.cpp
diff options
context:
space:
mode:
authorBen Barham <ben_barham@apple.com>2022-02-21 21:13:38 -0800
committerBen Barham <ben_barham@apple.com>2022-02-22 15:05:58 -0800
commited4f0cb87878e63378f2a37a2af2b538eb493a04 (patch)
treeadc46ea99259e8dbce3a023cb64c86f8d83cb85e /llvm/lib/Support/VirtualFileSystem.cpp
parent2df019ab5aab3333397662e69c8c774782e5333b (diff)
[VFS] Use generic_category for errors generated from the VFS
Errors are generally checked in clients by comparing to the portable error condition in `std::errc`, which will have the `generic_category` (eg. `std::errc::no_such_file_or_directory`). While in practice these are usually equivalent for the standard errno's, they are not in *all* implementations. One such example is CentOS 7. Differential Revision: https://reviews.llvm.org/D120299
Diffstat (limited to 'llvm/lib/Support/VirtualFileSystem.cpp')
-rw-r--r--llvm/lib/Support/VirtualFileSystem.cpp6
1 files changed, 2 insertions, 4 deletions
diff --git a/llvm/lib/Support/VirtualFileSystem.cpp b/llvm/lib/Support/VirtualFileSystem.cpp
index 49151682624d..590bc1902fbe 100644
--- a/llvm/lib/Support/VirtualFileSystem.cpp
+++ b/llvm/lib/Support/VirtualFileSystem.cpp
@@ -485,8 +485,7 @@ class CombiningDirIterImpl : public llvm::vfs::detail::DirIterImpl {
}
if (IsFirstTime && CurrentDirIter == directory_iterator())
- return std::error_code(static_cast<int>(errc::no_such_file_or_directory),
- std::system_category());
+ return errc::no_such_file_or_directory;
return {};
}
@@ -1285,8 +1284,7 @@ directory_iterator RedirectingFileSystem::dir_begin(const Twine &Dir,
}
if (!S->isDirectory()) {
- EC = std::error_code(static_cast<int>(errc::not_a_directory),
- std::system_category());
+ EC = errc::not_a_directory;
return {};
}