diff options
author | Joerg Sonnenberger <joerg@bec.de> | 2012-10-25 16:35:18 +0000 |
---|---|---|
committer | Joerg Sonnenberger <joerg@bec.de> | 2012-10-25 16:35:18 +0000 |
commit | 0eafc7fc37e48b27aad907bcdf0b726d2e6a9af8 (patch) | |
tree | a72567537c4104bfb7aed5067fb0d73f1ad42a24 | |
parent | 8e4e0074092f5e6e429f4ac5415a82a8423ec4f9 (diff) |
In preparation for removing exception handling in tablegen, add
PrintFatalError, which combines PrintError with exit(1).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@166690 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | include/llvm/TableGen/Error.h | 3 | ||||
-rw-r--r-- | lib/TableGen/Error.cpp | 12 |
2 files changed, 15 insertions, 0 deletions
diff --git a/include/llvm/TableGen/Error.h b/include/llvm/TableGen/Error.h index 5c1c3adf7e..3f7b7f4e8c 100644 --- a/include/llvm/TableGen/Error.h +++ b/include/llvm/TableGen/Error.h @@ -40,6 +40,9 @@ void PrintError(const char *Loc, const Twine &Msg); void PrintError(const Twine &Msg); void PrintError(const TGError &Error); +LLVM_ATTRIBUTE_NORETURN void PrintFatalError(const std::string &Msg); +LLVM_ATTRIBUTE_NORETURN void PrintFatalError(ArrayRef<SMLoc> ErrorLoc, + const std::string &Msg); extern SourceMgr SrcMgr; diff --git a/lib/TableGen/Error.cpp b/lib/TableGen/Error.cpp index 5dd688cb67..ad98fba9ba 100644 --- a/lib/TableGen/Error.cpp +++ b/lib/TableGen/Error.cpp @@ -16,6 +16,8 @@ #include "llvm/ADT/Twine.h" #include "llvm/Support/raw_ostream.h" +#include <cstdlib> + namespace llvm { SourceMgr SrcMgr; @@ -63,4 +65,14 @@ void PrintError(const TGError &Error) { PrintError(Error.getLoc(), Error.getMessage()); } +void PrintFatalError(const std::string &Msg) { + PrintError(Twine(Msg)); + std::exit(1); +} + +void PrintFatalError(ArrayRef<SMLoc> ErrorLoc, const std::string &Msg) { + PrintError(ErrorLoc, Msg); + std::exit(1); +} + } // end namespace llvm |