70 lines
2.1 KiB
C++
70 lines
2.1 KiB
C++
//===- MsgHandling.h ------------------------------------------------------===//
|
|
//
|
|
// The MCLinker Project
|
|
//
|
|
// This file is distributed under the University of Illinois Open Source
|
|
// License. See LICENSE.TXT for details.
|
|
//
|
|
//===----------------------------------------------------------------------===//
|
|
#ifndef MCLD_SUPPORT_MSGHANDLING_H_
|
|
#define MCLD_SUPPORT_MSGHANDLING_H_
|
|
#include "mcld/LD/MsgHandler.h"
|
|
|
|
namespace mcld {
|
|
|
|
class LinkerConfig;
|
|
class DiagnosticPrinter;
|
|
class DiagnosticLineInfo;
|
|
|
|
void InitializeDiagnosticEngine(const LinkerConfig& pConfig,
|
|
DiagnosticPrinter* pPrinter = NULL);
|
|
|
|
void FinalizeDiagnosticEngine();
|
|
|
|
bool Diagnose();
|
|
|
|
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 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 // MCLD_SUPPORT_MSGHANDLING_H_
|