//===- MsgHandling.h ------------------------------------------------------===// // // The MCLinker Project // // This file is distributed under the University of Illinois Open Source // License. See LICENSE.TXT for details. // //===----------------------------------------------------------------------===// #ifndef MCLD_MESSAGE_HANDLING_H #define MCLD_MESSAGE_HANDLING_H #ifdef ENABLE_UNITTEST #include <gtest.h> #endif #include <mcld/LD/MsgHandler.h> namespace mcld { class MCLDInfo; class DiagnosticPrinter; class DiagnosticLineInfo; void InitializeDiagnosticEngine(const MCLDInfo& pLDInfo, DiagnosticLineInfo* pLineInfo, DiagnosticPrinter* pPrinter); DiagnosticEngine& getDiagnosticEngine(); MsgHandler unreachable(unsigned int pID); MsgHandler fatal(unsigned int pID); MsgHandler error(unsigned int pID); MsgHandler warning(unsigned int pID); MsgHandler debug(unsigned int pID); MsgHandler note(unsigned int pID); MsgHandler ignore(unsigned int pID); } // namespace of mcld //===----------------------------------------------------------------------===// // Inline functions inline mcld::MsgHandler mcld::unreachable(unsigned int pID) { return getDiagnosticEngine().report(pID, DiagnosticEngine::Unreachable); } inline mcld::MsgHandler mcld::fatal(unsigned int pID) { return getDiagnosticEngine().report(pID, DiagnosticEngine::Fatal); } inline mcld::MsgHandler mcld::error(unsigned int pID) { return getDiagnosticEngine().report(pID, DiagnosticEngine::Error); } inline mcld::MsgHandler mcld::warning(unsigned int pID) { return getDiagnosticEngine().report(pID, DiagnosticEngine::Warning); } inline mcld::MsgHandler mcld::debug(unsigned int pID) { return getDiagnosticEngine().report(pID, DiagnosticEngine::Debug); } inline mcld::MsgHandler mcld::note(unsigned int pID) { return getDiagnosticEngine().report(pID, DiagnosticEngine::Note); } inline mcld::MsgHandler mcld::ignore(unsigned int pID) { return getDiagnosticEngine().report(pID, DiagnosticEngine::Ignore); } #endif