1//===- llvm/TableGen/Error.h - tblgen error handling helpers ----*- C++ -*-===//
2//
3//                     The LLVM Compiler Infrastructure
4//
5// This file is distributed under the University of Illinois Open Source
6// License. See LICENSE.TXT for details.
7//
8//===----------------------------------------------------------------------===//
9//
10// This file contains error handling helper routines to pretty-print diagnostic
11// messages from tblgen.
12//
13//===----------------------------------------------------------------------===//
14
15#ifndef LLVM_TABLEGEN_ERROR_H
16#define LLVM_TABLEGEN_ERROR_H
17
18#include "llvm/Support/SourceMgr.h"
19
20namespace llvm {
21
22void PrintWarning(ArrayRef<SMLoc> WarningLoc, const Twine &Msg);
23void PrintWarning(const char *Loc, const Twine &Msg);
24void PrintWarning(const Twine &Msg);
25
26void PrintError(ArrayRef<SMLoc> ErrorLoc, const Twine &Msg);
27void PrintError(const char *Loc, const Twine &Msg);
28void PrintError(const Twine &Msg);
29
30LLVM_ATTRIBUTE_NORETURN void PrintFatalError(const Twine &Msg);
31LLVM_ATTRIBUTE_NORETURN void PrintFatalError(ArrayRef<SMLoc> ErrorLoc,
32                                             const Twine &Msg);
33
34extern SourceMgr SrcMgr;
35extern unsigned ErrorsPrinted;
36
37} // end namespace "llvm"
38
39#endif
40