aboutsummaryrefslogtreecommitdiffstats
path: root/utils/TableGen/Error.h
diff options
context:
space:
mode:
authorNowar Gu <nowar100@gmail.com>2011-06-23 11:08:11 +0800
committerNowar Gu <nowar100@gmail.com>2011-06-23 11:09:52 +0800
commitbb5c18c80e7ae4ce49eb9067b664f0559ec50965 (patch)
tree4f610e4e03d1c14658e597ce789cb0244fd9f4f8 /utils/TableGen/Error.h
parent71fea9a88608e9c8fe8a8a523367878e279c3e90 (diff)
parent2fa82bc3da45d272f12a96a61074b637faa62e0b (diff)
downloadexternal_llvm-bb5c18c80e7ae4ce49eb9067b664f0559ec50965.zip
external_llvm-bb5c18c80e7ae4ce49eb9067b664f0559ec50965.tar.gz
external_llvm-bb5c18c80e7ae4ce49eb9067b664f0559ec50965.tar.bz2
Merge upstream to r133679 at Thu. 23th Jun 2011.
Diffstat (limited to 'utils/TableGen/Error.h')
-rw-r--r--utils/TableGen/Error.h43
1 files changed, 43 insertions, 0 deletions
diff --git a/utils/TableGen/Error.h b/utils/TableGen/Error.h
new file mode 100644
index 0000000..b3a0146
--- /dev/null
+++ b/utils/TableGen/Error.h
@@ -0,0 +1,43 @@
+//===- Error.h - tblgen error handling helper routines ----------*- C++ -*-===//
+//
+// The LLVM Compiler Infrastructure
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+//
+// This file contains error handling helper routines to pretty-print diagnostic
+// messages from tblgen.
+//
+//===----------------------------------------------------------------------===//
+
+#ifndef ERROR_H
+#define ERROR_H
+
+#include "llvm/Support/SourceMgr.h"
+
+namespace llvm {
+
+class TGError {
+ SMLoc Loc;
+ std::string Message;
+public:
+ TGError(SMLoc loc, const std::string &message) : Loc(loc), Message(message) {}
+
+ SMLoc getLoc() const { return Loc; }
+ const std::string &getMessage() const { return Message; }
+};
+
+void PrintError(SMLoc ErrorLoc, const Twine &Msg);
+void PrintError(const char *Loc, const Twine &Msg);
+void PrintError(const Twine &Msg);
+void PrintError(const TGError &Error);
+
+
+extern SourceMgr SrcMgr;
+
+
+} // end namespace "llvm"
+
+#endif