|  | //===- Error.h --------------------------------------------------*- C++ -*-===// | 
|  | // | 
|  | // 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 | 
|  | // | 
|  | //===----------------------------------------------------------------------===// | 
|  |  | 
|  | #ifndef LLVM_TOOLS_LLVM_DWARFUTIL_ERROR_H | 
|  | #define LLVM_TOOLS_LLVM_DWARFUTIL_ERROR_H | 
|  |  | 
|  | #include "llvm/ADT/STLExtras.h" | 
|  | #include "llvm/ADT/StringRef.h" | 
|  | #include "llvm/Support/Debug.h" | 
|  | #include "llvm/Support/Error.h" | 
|  | #include "llvm/Support/Format.h" | 
|  | #include "llvm/Support/WithColor.h" | 
|  | #include "llvm/Support/raw_ostream.h" | 
|  | #include "llvm/TargetParser/Triple.h" | 
|  |  | 
|  | namespace llvm { | 
|  | namespace dwarfutil { | 
|  |  | 
|  | inline void error(Error Err, StringRef Prefix = "") { | 
|  | handleAllErrors(std::move(Err), [&](ErrorInfoBase &Info) { | 
|  | WithColor::error(errs(), Prefix) << Info.message() << '\n'; | 
|  | }); | 
|  | std::exit(EXIT_FAILURE); | 
|  | } | 
|  |  | 
|  | inline void warning(const Twine &Message, StringRef Prefix = "") { | 
|  | WithColor::warning(errs(), Prefix) << Message << '\n'; | 
|  | } | 
|  |  | 
|  | inline void verbose(const Twine &Message, bool Verbose) { | 
|  | if (Verbose) | 
|  | outs() << Message << '\n'; | 
|  | } | 
|  |  | 
|  | } // end of namespace dwarfutil | 
|  | } // end of namespace llvm | 
|  |  | 
|  | #endif // LLVM_TOOLS_LLVM_DWARFUTIL_ERROR_H |