summaryrefslogtreecommitdiffstats
path: root/llvm/lib/MC/MCParser/MCAsmParser.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/lib/MC/MCParser/MCAsmParser.cpp')
-rw-r--r--llvm/lib/MC/MCParser/MCAsmParser.cpp18
1 files changed, 14 insertions, 4 deletions
diff --git a/llvm/lib/MC/MCParser/MCAsmParser.cpp b/llvm/lib/MC/MCParser/MCAsmParser.cpp
index 3282a61e515..f8bc04f7144 100644
--- a/llvm/lib/MC/MCParser/MCAsmParser.cpp
+++ b/llvm/lib/MC/MCParser/MCAsmParser.cpp
@@ -17,8 +17,8 @@
#include "llvm/Support/raw_ostream.h"
using namespace llvm;
-MCAsmParser::MCAsmParser() : TargetParser(nullptr), ShowParsedOperands(0) {
-}
+MCAsmParser::MCAsmParser()
+ : TargetParser(nullptr), ShowParsedOperands(0), HadError(false), PendingErrors() {}
MCAsmParser::~MCAsmParser() {
}
@@ -84,8 +84,18 @@ bool MCAsmParser::check(bool P, SMLoc Loc, const Twine &Msg) {
return false;
}
-bool MCAsmParser::TokError(const Twine &Msg, ArrayRef<SMRange> Ranges) {
- Error(getLexer().getLoc(), Msg, Ranges);
+bool MCAsmParser::TokError(const Twine &Msg, SMRange Range) {
+ return Error(getLexer().getLoc(), Msg, Range);
+}
+
+bool MCAsmParser::Error(SMLoc L, const Twine &Msg, SMRange Range) {
+ HadError = true;
+
+ MCPendingError PErr;
+ PErr.Loc = L;
+ Msg.toVector(PErr.Msg);
+ PErr.Range = Range;
+ PendingErrors.push_back(PErr);
return true;
}
OpenPOWER on IntegriCloud