diff options
Diffstat (limited to 'ELF/Error.h')
-rw-r--r-- | ELF/Error.h | 78 |
1 files changed, 0 insertions, 78 deletions
diff --git a/ELF/Error.h b/ELF/Error.h deleted file mode 100644 index 89bc2111b44e..000000000000 --- a/ELF/Error.h +++ /dev/null @@ -1,78 +0,0 @@ -//===- Error.h --------------------------------------------------*- C++ -*-===// -// -// The LLVM Linker -// -// This file is distributed under the University of Illinois Open Source -// License. See LICENSE.TXT for details. -// -//===----------------------------------------------------------------------===// -// -// In LLD, we have three levels of errors: fatal, error or warn. -// -// Fatal makes the program exit immediately with an error message. -// You shouldn't use it except for reporting a corrupted input file. -// -// Error prints out an error message and increment a global variable -// ErrorCount to record the fact that we met an error condition. It does -// not exit, so it is safe for a lld-as-a-library use case. It is generally -// useful because it can report more than one error in a single run. -// -// Warn doesn't do anything but printing out a given message. -// -// It is not recommended to use llvm::outs() or llvm::errs() directly -// in LLD because they are not thread-safe. The functions declared in -// this file are mutually excluded, so you want to use them instead. -// -//===----------------------------------------------------------------------===// - -#ifndef LLD_ELF_ERROR_H -#define LLD_ELF_ERROR_H - -#include "lld/Core/LLVM.h" - -#include "llvm/Support/Error.h" - -namespace lld { -namespace elf { - -extern uint64_t ErrorCount; -extern llvm::raw_ostream *ErrorOS; - -void log(const Twine &Msg); -void message(const Twine &Msg); -void warn(const Twine &Msg); -void error(const Twine &Msg); -LLVM_ATTRIBUTE_NORETURN void fatal(const Twine &Msg); - -LLVM_ATTRIBUTE_NORETURN void exitLld(int Val); - -// check() functions are convenient functions to strip errors -// from error-or-value objects. -template <class T> T check(ErrorOr<T> E) { - if (auto EC = E.getError()) - fatal(EC.message()); - return std::move(*E); -} - -template <class T> T check(Expected<T> E) { - if (!E) - fatal(llvm::toString(E.takeError())); - return std::move(*E); -} - -template <class T> T check(ErrorOr<T> E, const Twine &Prefix) { - if (auto EC = E.getError()) - fatal(Prefix + ": " + EC.message()); - return std::move(*E); -} - -template <class T> T check(Expected<T> E, const Twine &Prefix) { - if (!E) - fatal(Prefix + ": " + toString(E.takeError())); - return std::move(*E); -} - -} // namespace elf -} // namespace lld - -#endif |