To avoid printing out multiple error messages for cases like:
authorEric Christopher <echristo@apple.com>
Tue, 12 Apr 2011 00:03:13 +0000 (00:03 +0000)
committerEric Christopher <echristo@apple.com>
Tue, 12 Apr 2011 00:03:13 +0000 (00:03 +0000)
.long 80+08

go ahead and assume that if we've got an Error token that we handled it
already. Otherwise if it's a token we can't handle then go ahead and
return the default error.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129322 91177308-0d34-0410-b5e6-96231b3b80d8

lib/MC/MCParser/AsmParser.cpp

index 8af4ac62e221c321cdffe472900cfbfa0b1185db..418b5101514e5c37d68d11ef942ac06ce9a203ad 100644 (file)
@@ -539,6 +539,9 @@ bool AsmParser::ParsePrimaryExpr(const MCExpr *&Res, SMLoc &EndLoc) {
   switch (Lexer.getKind()) {
   default:
     return TokError("unknown token in expression");
+  // If we have an error assume that we've already handled it.
+  case AsmToken::Error:
+    return true;
   case AsmToken::Exclaim:
     Lex(); // Eat the operator.
     if (ParsePrimaryExpr(Res, EndLoc))