//===- 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