diff options
| author | Steven Wu <stevenwu@apple.com> | 2024-10-22 11:54:21 -0700 |
|---|---|---|
| committer | Steven Wu <stevenwu@apple.com> | 2024-10-22 11:54:21 -0700 |
| commit | 1b5b7ad620edd00dc84d631cd11bd548e35d648a (patch) | |
| tree | 6dd8e023b29f89a6d262d9ad45c76b69107af73d /llvm/lib/Support/VirtualOutputError.cpp | |
| parent | e57548387000071562f44bfd66644480c8e6542d (diff) | |
[𝘀𝗽𝗿] changes to main this commit is based onusers/cachemeifyoucan/spr/main.address-review-feedback
Created using spr 1.3.5
[skip ci]
Diffstat (limited to 'llvm/lib/Support/VirtualOutputError.cpp')
| -rw-r--r-- | llvm/lib/Support/VirtualOutputError.cpp | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/llvm/lib/Support/VirtualOutputError.cpp b/llvm/lib/Support/VirtualOutputError.cpp new file mode 100644 index 000000000000..74fa5e3fa056 --- /dev/null +++ b/llvm/lib/Support/VirtualOutputError.cpp @@ -0,0 +1,53 @@ +//===- VirtualOutputError.cpp - Errors for output virtualization ----------===// +// +// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +// +//===----------------------------------------------------------------------===// + +#include "llvm/Support/VirtualOutputError.h" + +using namespace llvm; +using namespace llvm::vfs; + +void OutputError::anchor() {} +void OutputConfigError::anchor() {} +void TempFileOutputError::anchor() {} + +char OutputError::ID = 0; +char OutputConfigError::ID = 0; +char TempFileOutputError::ID = 0; + +namespace { +class OutputErrorCategory : public std::error_category { +public: + const char *name() const noexcept override; + std::string message(int EV) const override; +}; +} // end namespace + +const std::error_category &vfs::output_category() { + static OutputErrorCategory ErrorCategory; + return ErrorCategory; +} + +const char *OutputErrorCategory::name() const noexcept { + return "llvm.vfs.output"; +} + +std::string OutputErrorCategory::message(int EV) const { + OutputErrorCode E = static_cast<OutputErrorCode>(EV); + switch (E) { + case OutputErrorCode::invalid_config: + return "invalid config"; + case OutputErrorCode::not_closed: + return "output not closed"; + case OutputErrorCode::already_closed: + return "output already closed"; + case OutputErrorCode::has_open_proxy: + return "output has open proxy"; + } + llvm_unreachable( + "An enumerator of OutputErrorCode does not have a message defined."); +} |
