[llvm] bb6732c - [MC] Add parseEOL() overload and migrate some parseToken(AsmToken::EndOfStatement) to parseEOL()

Fangrui Song via llvm-commits llvm-commits at lists.llvm.org
Sat Mar 6 17:45:30 PST 2021


Author: Fangrui Song
Date: 2021-03-06T17:45:23-08:00
New Revision: bb6732cf622522f17dad948279ba4f68e3bd55e1

URL: https://github.com/llvm/llvm-project/commit/bb6732cf622522f17dad948279ba4f68e3bd55e1
DIFF: https://github.com/llvm/llvm-project/commit/bb6732cf622522f17dad948279ba4f68e3bd55e1.diff

LOG: [MC] Add parseEOL() overload and migrate some parseToken(AsmToken::EndOfStatement) to parseEOL()

For many directives, the following diagnostics

* `error: unexpected token`
* `error: unexpected token in '.abort' directive"`

are replaced with `error: expected newline`.

`unexpected token` may make the user think a different token is needed.
`expected newline` is clearer about the expected token.

For `in '...' directive`, the directive name is not useful because the next line
replicates the error line which includes the directive.

Added: 
    

Modified: 
    llvm/include/llvm/MC/MCParser/MCAsmParser.h
    llvm/lib/MC/MCParser/AsmParser.cpp
    llvm/lib/MC/MCParser/MCAsmParser.cpp
    llvm/test/MC/ARM/directive_parsing.s
    llvm/test/MC/ARM/thumb_set-diagnostics.s
    llvm/test/MC/AsmParser/AArch64/directive-parse-err.s
    llvm/test/MC/AsmParser/directive_incbin.s
    llvm/test/MC/AsmParser/if-diagnostics.s
    llvm/test/MC/ELF/cfi.s

Removed: 
    


################################################################################
diff  --git a/llvm/include/llvm/MC/MCParser/MCAsmParser.h b/llvm/include/llvm/MC/MCParser/MCAsmParser.h
index 391a6b0b575e..02cc22009196 100644
--- a/llvm/include/llvm/MC/MCParser/MCAsmParser.h
+++ b/llvm/include/llvm/MC/MCParser/MCAsmParser.h
@@ -258,6 +258,7 @@ class MCAsmParser {
   /// success.
   bool parseOptionalToken(AsmToken::TokenKind T);
 
+  bool parseEOL();
   bool parseEOL(const Twine &ErrMsg);
 
   bool parseMany(function_ref<bool()> parseOne, bool hasComma = true);

diff  --git a/llvm/lib/MC/MCParser/AsmParser.cpp b/llvm/lib/MC/MCParser/AsmParser.cpp
index 2d6d060cb25c..aafd68e9c381 100644
--- a/llvm/lib/MC/MCParser/AsmParser.cpp
+++ b/llvm/lib/MC/MCParser/AsmParser.cpp
@@ -3216,8 +3216,7 @@ bool AsmParser::parseDirectiveZero() {
       return true;
   }
 
-  if (parseToken(AsmToken::EndOfStatement,
-                 "unexpected token in '.zero' directive"))
+  if (parseEOL())
     return true;
   getStreamer().emitFill(*NumBytes, Val, NumBytesLoc);
 
@@ -3247,8 +3246,7 @@ bool AsmParser::parseDirectiveFill() {
         return true;
     }
   }
-  if (parseToken(AsmToken::EndOfStatement,
-                 "unexpected token in '.fill' directive"))
+  if (parseEOL())
     return true;
 
   if (FillSize < 0) {
@@ -3281,7 +3279,7 @@ bool AsmParser::parseDirectiveOrg() {
   if (parseOptionalToken(AsmToken::Comma))
     if (parseAbsoluteExpression(FillExpr))
       return addErrorSuffix(" in '.org' directive");
-  if (parseToken(AsmToken::EndOfStatement))
+  if (parseEOL())
     return addErrorSuffix(" in '.org' directive");
 
   getStreamer().emitValueToOffset(Offset, FillExpr, OffsetLoc);
@@ -3315,7 +3313,7 @@ bool AsmParser::parseDirectiveAlign(bool IsPow2, unsigned ValueSize) {
             parseAbsoluteExpression(MaxBytesToFill))
           return true;
     }
-    return parseToken(AsmToken::EndOfStatement);
+    return parseEOL();
   };
 
   if (checkForValidSection())
@@ -3323,7 +3321,7 @@ bool AsmParser::parseDirectiveAlign(bool IsPow2, unsigned ValueSize) {
   // Ignore empty '.p2align' directives for GNU-as compatibility
   if (IsPow2 && (ValueSize == 1) && getTok().is(AsmToken::EndOfStatement)) {
     Warning(AlignmentLoc, "p2align directive with no operand(s) is ignored");
-    return parseToken(AsmToken::EndOfStatement);
+    return parseEOL();
   }
   if (parseAlign())
     return addErrorSuffix(" in directive");
@@ -4097,7 +4095,7 @@ bool AsmParser::parseDirectiveCFIStartProc() {
   if (!parseOptionalToken(AsmToken::EndOfStatement)) {
     if (check(parseIdentifier(Simple) || Simple != "simple",
               "unexpected token") ||
-        parseToken(AsmToken::EndOfStatement))
+        parseEOL())
       return addErrorSuffix(" in '.cfi_startproc' directive");
   }
 
@@ -4113,7 +4111,7 @@ bool AsmParser::parseDirectiveCFIStartProc() {
 /// parseDirectiveCFIEndProc
 /// ::= .cfi_endproc
 bool AsmParser::parseDirectiveCFIEndProc() {
-  if (parseToken(AsmToken::EndOfStatement))
+  if (parseEOL())
     return addErrorSuffix(" in '.cfi_endproc' directive");
   getStreamer().emitCFIEndProc();
   return false;
@@ -4140,7 +4138,7 @@ bool AsmParser::parseDirectiveCFIDefCfa(SMLoc DirectiveLoc) {
   int64_t Register = 0, Offset = 0;
   if (parseRegisterOrRegisterNumber(Register, DirectiveLoc) ||
       parseToken(AsmToken::Comma, "unexpected token in directive") ||
-      parseAbsoluteExpression(Offset) || parseToken(AsmToken::EndOfStatement))
+      parseAbsoluteExpression(Offset) || parseEOL())
     return true;
 
   getStreamer().emitCFIDefCfa(Register, Offset);
@@ -4151,7 +4149,7 @@ bool AsmParser::parseDirectiveCFIDefCfa(SMLoc DirectiveLoc) {
 /// ::= .cfi_def_cfa_offset offset
 bool AsmParser::parseDirectiveCFIDefCfaOffset() {
   int64_t Offset = 0;
-  if (parseAbsoluteExpression(Offset) || parseToken(AsmToken::EndOfStatement))
+  if (parseAbsoluteExpression(Offset) || parseEOL())
     return true;
 
   getStreamer().emitCFIDefCfaOffset(Offset);
@@ -4164,8 +4162,7 @@ bool AsmParser::parseDirectiveCFIRegister(SMLoc DirectiveLoc) {
   int64_t Register1 = 0, Register2 = 0;
   if (parseRegisterOrRegisterNumber(Register1, DirectiveLoc) ||
       parseToken(AsmToken::Comma, "unexpected token in directive") ||
-      parseRegisterOrRegisterNumber(Register2, DirectiveLoc) ||
-      parseToken(AsmToken::EndOfStatement))
+      parseRegisterOrRegisterNumber(Register2, DirectiveLoc) || parseEOL())
     return true;
 
   getStreamer().emitCFIRegister(Register1, Register2);
@@ -4175,7 +4172,7 @@ bool AsmParser::parseDirectiveCFIRegister(SMLoc DirectiveLoc) {
 /// parseDirectiveCFIWindowSave
 /// ::= .cfi_window_save
 bool AsmParser::parseDirectiveCFIWindowSave() {
-  if (parseToken(AsmToken::EndOfStatement))
+  if (parseEOL())
     return true;
   getStreamer().emitCFIWindowSave();
   return false;
@@ -4185,8 +4182,7 @@ bool AsmParser::parseDirectiveCFIWindowSave() {
 /// ::= .cfi_adjust_cfa_offset adjustment
 bool AsmParser::parseDirectiveCFIAdjustCfaOffset() {
   int64_t Adjustment = 0;
-  if (parseAbsoluteExpression(Adjustment) ||
-      parseToken(AsmToken::EndOfStatement))
+  if (parseAbsoluteExpression(Adjustment) || parseEOL())
     return true;
 
   getStreamer().emitCFIAdjustCfaOffset(Adjustment);
@@ -4197,8 +4193,7 @@ bool AsmParser::parseDirectiveCFIAdjustCfaOffset() {
 /// ::= .cfi_def_cfa_register register
 bool AsmParser::parseDirectiveCFIDefCfaRegister(SMLoc DirectiveLoc) {
   int64_t Register = 0;
-  if (parseRegisterOrRegisterNumber(Register, DirectiveLoc) ||
-      parseToken(AsmToken::EndOfStatement))
+  if (parseRegisterOrRegisterNumber(Register, DirectiveLoc) || parseEOL())
     return true;
 
   getStreamer().emitCFIDefCfaRegister(Register);
@@ -4213,7 +4208,7 @@ bool AsmParser::parseDirectiveCFIOffset(SMLoc DirectiveLoc) {
 
   if (parseRegisterOrRegisterNumber(Register, DirectiveLoc) ||
       parseToken(AsmToken::Comma, "unexpected token in directive") ||
-      parseAbsoluteExpression(Offset) || parseToken(AsmToken::EndOfStatement))
+      parseAbsoluteExpression(Offset) || parseEOL())
     return true;
 
   getStreamer().emitCFIOffset(Register, Offset);
@@ -4227,7 +4222,7 @@ bool AsmParser::parseDirectiveCFIRelOffset(SMLoc DirectiveLoc) {
 
   if (parseRegisterOrRegisterNumber(Register, DirectiveLoc) ||
       parseToken(AsmToken::Comma, "unexpected token in directive") ||
-      parseAbsoluteExpression(Offset) || parseToken(AsmToken::EndOfStatement))
+      parseAbsoluteExpression(Offset) || parseEOL())
     return true;
 
   getStreamer().emitCFIRelOffset(Register, Offset);
@@ -4271,7 +4266,7 @@ bool AsmParser::parseDirectiveCFIPersonalityOrLsda(bool IsPersonality) {
   if (check(!isValidEncoding(Encoding), "unsupported encoding.") ||
       parseToken(AsmToken::Comma, "unexpected token in directive") ||
       check(parseIdentifier(Name), "expected identifier in directive") ||
-      parseToken(AsmToken::EndOfStatement))
+      parseEOL())
     return true;
 
   MCSymbol *Sym = getContext().getOrCreateSymbol(Name);
@@ -4286,7 +4281,7 @@ bool AsmParser::parseDirectiveCFIPersonalityOrLsda(bool IsPersonality) {
 /// parseDirectiveCFIRememberState
 /// ::= .cfi_remember_state
 bool AsmParser::parseDirectiveCFIRememberState() {
-  if (parseToken(AsmToken::EndOfStatement))
+  if (parseEOL())
     return true;
   getStreamer().emitCFIRememberState();
   return false;
@@ -4295,7 +4290,7 @@ bool AsmParser::parseDirectiveCFIRememberState() {
 /// parseDirectiveCFIRestoreState
 /// ::= .cfi_remember_state
 bool AsmParser::parseDirectiveCFIRestoreState() {
-  if (parseToken(AsmToken::EndOfStatement))
+  if (parseEOL())
     return true;
   getStreamer().emitCFIRestoreState();
   return false;
@@ -4306,8 +4301,7 @@ bool AsmParser::parseDirectiveCFIRestoreState() {
 bool AsmParser::parseDirectiveCFISameValue(SMLoc DirectiveLoc) {
   int64_t Register = 0;
 
-  if (parseRegisterOrRegisterNumber(Register, DirectiveLoc) ||
-      parseToken(AsmToken::EndOfStatement))
+  if (parseRegisterOrRegisterNumber(Register, DirectiveLoc) || parseEOL())
     return true;
 
   getStreamer().emitCFISameValue(Register);
@@ -4318,8 +4312,7 @@ bool AsmParser::parseDirectiveCFISameValue(SMLoc DirectiveLoc) {
 /// ::= .cfi_restore register
 bool AsmParser::parseDirectiveCFIRestore(SMLoc DirectiveLoc) {
   int64_t Register = 0;
-  if (parseRegisterOrRegisterNumber(Register, DirectiveLoc) ||
-      parseToken(AsmToken::EndOfStatement))
+  if (parseRegisterOrRegisterNumber(Register, DirectiveLoc) || parseEOL())
     return true;
 
   getStreamer().emitCFIRestore(Register);
@@ -4353,8 +4346,7 @@ bool AsmParser::parseDirectiveCFIEscape() {
 /// ::= .cfi_return_column register
 bool AsmParser::parseDirectiveCFIReturnColumn(SMLoc DirectiveLoc) {
   int64_t Register = 0;
-  if (parseRegisterOrRegisterNumber(Register, DirectiveLoc) ||
-      parseToken(AsmToken::EndOfStatement))
+  if (parseRegisterOrRegisterNumber(Register, DirectiveLoc) || parseEOL())
     return true;
   getStreamer().emitCFIReturnColumn(Register);
   return false;
@@ -4376,8 +4368,7 @@ bool AsmParser::parseDirectiveCFISignalFrame() {
 bool AsmParser::parseDirectiveCFIUndefined(SMLoc DirectiveLoc) {
   int64_t Register = 0;
 
-  if (parseRegisterOrRegisterNumber(Register, DirectiveLoc) ||
-      parseToken(AsmToken::EndOfStatement))
+  if (parseRegisterOrRegisterNumber(Register, DirectiveLoc) || parseEOL())
     return true;
 
   getStreamer().emitCFIUndefined(Register);
@@ -4388,8 +4379,8 @@ bool AsmParser::parseDirectiveCFIUndefined(SMLoc DirectiveLoc) {
 /// ::= .altmacro
 /// ::= .noaltmacro
 bool AsmParser::parseDirectiveAltmacro(StringRef Directive) {
-  if (getLexer().isNot(AsmToken::EndOfStatement))
-    return TokError("unexpected token in '" + Directive + "' directive");
+  if (parseEOL())
+    return true;
   AltMacroMode = (Directive == ".altmacro");
   return false;
 }
@@ -4398,10 +4389,8 @@ bool AsmParser::parseDirectiveAltmacro(StringRef Directive) {
 /// ::= .macros_on
 /// ::= .macros_off
 bool AsmParser::parseDirectiveMacrosOnOff(StringRef Directive) {
-  if (parseToken(AsmToken::EndOfStatement,
-                 "unexpected token in '" + Directive + "' directive"))
+  if (parseEOL())
     return true;
-
   setMacrosEnabled(Directive == ".macros_on");
   return false;
 }
@@ -4640,8 +4629,7 @@ void AsmParser::checkForBadMacro(SMLoc DirectiveLoc, StringRef Name,
 /// parseDirectiveExitMacro
 /// ::= .exitm
 bool AsmParser::parseDirectiveExitMacro(StringRef Directive) {
-  if (parseToken(AsmToken::EndOfStatement,
-                 "unexpected token in '" + Directive + "' directive"))
+  if (parseEOL())
     return true;
 
   if (!isInsideMacroInstantiation())
@@ -4748,9 +4736,7 @@ bool AsmParser::parseDirectiveBundleLock() {
 /// parseDirectiveBundleLock
 /// ::= {.bundle_lock}
 bool AsmParser::parseDirectiveBundleUnlock() {
-  if (checkForValidSection() ||
-      parseToken(AsmToken::EndOfStatement,
-                 "unexpected token in '.bundle_unlock' directive"))
+  if (checkForValidSection() || parseEOL())
     return true;
 
   getStreamer().emitBundleUnlock();
@@ -4769,7 +4755,7 @@ bool AsmParser::parseDirectiveSpace(StringRef IDVal) {
   if (parseOptionalToken(AsmToken::Comma))
     if (parseAbsoluteExpression(FillExpr))
       return addErrorSuffix("in '" + Twine(IDVal) + "' directive");
-  if (parseToken(AsmToken::EndOfStatement))
+  if (parseEOL())
     return addErrorSuffix("in '" + Twine(IDVal) + "' directive");
 
   // FIXME: Sometimes the fill expr is 'nop' if it isn't supplied, instead of 0.
@@ -4966,8 +4952,7 @@ bool AsmParser::parseDirectiveComm(bool IsLocal) {
     }
   }
 
-  if (parseToken(AsmToken::EndOfStatement,
-                 "unexpected token in '.comm' or '.lcomm' directive"))
+  if (parseEOL())
     return true;
 
   // NOTE: a size of zero for a .comm should create a undefined symbol
@@ -5004,8 +4989,7 @@ bool AsmParser::parseDirectiveAbort() {
   SMLoc Loc = getLexer().getLoc();
 
   StringRef Str = parseStringToEndOfStatement();
-  if (parseToken(AsmToken::EndOfStatement,
-                 "unexpected token in '.abort' directive"))
+  if (parseEOL())
     return true;
 
   if (Str.empty())
@@ -5066,8 +5050,7 @@ bool AsmParser::parseDirectiveIncbin() {
     }
   }
 
-  if (parseToken(AsmToken::EndOfStatement,
-                 "unexpected token in '.incbin' directive"))
+  if (parseEOL())
     return true;
 
   if (check(Skip < 0, SkipLoc, "skip is negative"))
@@ -5088,9 +5071,7 @@ bool AsmParser::parseDirectiveIf(SMLoc DirectiveLoc, DirectiveKind DirKind) {
     eatToEndOfStatement();
   } else {
     int64_t ExprValue;
-    if (parseAbsoluteExpression(ExprValue) ||
-        parseToken(AsmToken::EndOfStatement,
-                   "unexpected token in '.if' directive"))
+    if (parseAbsoluteExpression(ExprValue) || parseEOL())
       return true;
 
     switch (DirKind) {
@@ -5134,8 +5115,7 @@ bool AsmParser::parseDirectiveIfb(SMLoc DirectiveLoc, bool ExpectBlank) {
   } else {
     StringRef Str = parseStringToEndOfStatement();
 
-    if (parseToken(AsmToken::EndOfStatement,
-                   "unexpected token in '.ifb' directive"))
+    if (parseEOL())
       return true;
 
     TheCondState.CondMet = ExpectBlank == Str.empty();
@@ -5162,8 +5142,7 @@ bool AsmParser::parseDirectiveIfc(SMLoc DirectiveLoc, bool ExpectEqual) {
 
     StringRef Str2 = parseStringToEndOfStatement();
 
-    if (parseToken(AsmToken::EndOfStatement,
-                   "unexpected token in '.ifc' directive"))
+    if (parseEOL())
       return true;
 
     TheCondState.CondMet = ExpectEqual == (Str1.trim() == Str2.trim());
@@ -5222,7 +5201,7 @@ bool AsmParser::parseDirectiveIfdef(SMLoc DirectiveLoc, bool expect_defined) {
     eatToEndOfStatement();
   } else {
     if (check(parseIdentifier(Name), "expected identifier after '.ifdef'") ||
-        parseToken(AsmToken::EndOfStatement, "unexpected token in '.ifdef'"))
+        parseEOL())
       return true;
 
     MCSymbol *Sym = getContext().lookupSymbol(Name);
@@ -5257,8 +5236,7 @@ bool AsmParser::parseDirectiveElseIf(SMLoc DirectiveLoc) {
     if (parseAbsoluteExpression(ExprValue))
       return true;
 
-    if (parseToken(AsmToken::EndOfStatement,
-                   "unexpected token in '.elseif' directive"))
+    if (parseEOL())
       return true;
 
     TheCondState.CondMet = ExprValue;
@@ -5271,8 +5249,7 @@ bool AsmParser::parseDirectiveElseIf(SMLoc DirectiveLoc) {
 /// parseDirectiveElse
 /// ::= .else
 bool AsmParser::parseDirectiveElse(SMLoc DirectiveLoc) {
-  if (parseToken(AsmToken::EndOfStatement,
-                 "unexpected token in '.else' directive"))
+  if (parseEOL())
     return true;
 
   if (TheCondState.TheCond != AsmCond::IfCond &&
@@ -5359,8 +5336,7 @@ bool AsmParser::parseDirectiveWarning(SMLoc L) {
 /// parseDirectiveEndIf
 /// ::= .endif
 bool AsmParser::parseDirectiveEndIf(SMLoc DirectiveLoc) {
-  if (parseToken(AsmToken::EndOfStatement,
-                 "unexpected token in '.endif' directive"))
+  if (parseEOL())
     return true;
 
   if ((TheCondState.TheCond == AsmCond::NoCond) || TheCondStack.empty())
@@ -5782,7 +5758,7 @@ bool AsmParser::parseDirectivePrint(SMLoc DirectiveLoc) {
 }
 
 bool AsmParser::parseDirectiveAddrsig() {
-  if (parseToken(AsmToken::EndOfStatement))
+  if (parseEOL())
     return true;
   getStreamer().emitAddrsig();
   return false;
@@ -5790,8 +5766,7 @@ bool AsmParser::parseDirectiveAddrsig() {
 
 bool AsmParser::parseDirectiveAddrsigSym() {
   StringRef Name;
-  if (check(parseIdentifier(Name), "expected identifier") ||
-      parseToken(AsmToken::EndOfStatement))
+  if (check(parseIdentifier(Name), "expected identifier") || parseEOL())
     return true;
   MCSymbol *Sym = getContext().getOrCreateSymbol(Name);
   getStreamer().emitAddrsigSym(Sym);
@@ -6191,7 +6166,7 @@ bool parseAssignmentExpression(StringRef Name, bool allow_redef,
   // a = b
   // b = c
 
-  if (Parser.parseToken(AsmToken::EndOfStatement))
+  if (Parser.parseEOL())
     return true;
 
   // Validate that the LHS is allowed to be a variable (either it has not been

diff  --git a/llvm/lib/MC/MCParser/MCAsmParser.cpp b/llvm/lib/MC/MCParser/MCAsmParser.cpp
index c2fa7be56ad2..e3f46f201b48 100644
--- a/llvm/lib/MC/MCParser/MCAsmParser.cpp
+++ b/llvm/lib/MC/MCParser/MCAsmParser.cpp
@@ -44,6 +44,13 @@ bool MCAsmParser::parseTokenLoc(SMLoc &Loc) {
   return false;
 }
 
+bool MCAsmParser::parseEOL() {
+  if (getTok().getKind() != AsmToken::EndOfStatement)
+    return Error(getTok().getLoc(), "expected newline");
+  Lex();
+  return false;
+}
+
 bool MCAsmParser::parseEOL(const Twine &Msg) {
   if (getTok().getKind() != AsmToken::EndOfStatement)
     return Error(getTok().getLoc(), Msg);

diff  --git a/llvm/test/MC/ARM/directive_parsing.s b/llvm/test/MC/ARM/directive_parsing.s
index 996473bbd45b..c513abcc6bcc 100644
--- a/llvm/test/MC/ARM/directive_parsing.s
+++ b/llvm/test/MC/ARM/directive_parsing.s
@@ -136,7 +136,7 @@
         .type arm_func,%function
 arm_func:
         nop
-// CHECK: [[@LINE+1]]:45: error: unexpected token
+// CHECK: [[#@LINE+1]]:45: error: expected newline
         .thumb_set alias_arm_func, arm_func $
 // CHECK-NOT: [[@LINE+1]]:{{[0-9]+}}: error:	
         .thumb_set alias_arm_func, arm_func @ EOL COMMENT

diff  --git a/llvm/test/MC/ARM/thumb_set-diagnostics.s b/llvm/test/MC/ARM/thumb_set-diagnostics.s
index ebc55e7af9c1..4dd35d289d99 100644
--- a/llvm/test/MC/ARM/thumb_set-diagnostics.s
+++ b/llvm/test/MC/ARM/thumb_set-diagnostics.s
@@ -37,7 +37,7 @@
 
 	.thumb_set trailer_trash, 0x11fe1e55,
 
-@ CHECK: error: unexpected token
+@ CHECK: error: expected newline
 @ CHECK: 	.thumb_set trailer_trash, 0x11fe1e55,
 @ CHECK:                                            ^
 
@@ -68,4 +68,4 @@ beta:
 
 @ CHECK: error: invalid reassignment of non-absolute variable 'variable_result'
 @ CHECK: 	.thumb_set variable_result, 1
-@ CHECK:                                            ^
\ No newline at end of file
+@ CHECK:                                            ^

diff  --git a/llvm/test/MC/AsmParser/AArch64/directive-parse-err.s b/llvm/test/MC/AsmParser/AArch64/directive-parse-err.s
index 5ddf6e3e0f91..ca806f36ff95 100644
--- a/llvm/test/MC/AsmParser/AArch64/directive-parse-err.s
+++ b/llvm/test/MC/AsmParser/AArch64/directive-parse-err.s
@@ -1,15 +1,15 @@
 // RUN: not llvm-mc -triple aarch64-none-eabi %s 2>&1 | FileCheck %s
 // RUN: not llvm-mc -triple aarch64-none-eabi %s 2>&1 | grep "error:" | count 60
 
-	// CHECK: [[@LINE+1]]:19: error: unexpected token in '.equ' directive
+	// CHECK: [[#@LINE+1]]:19: error: expected newline
 	.equ   ident1, 0 $
 	// CHECK-NOT: [[@LINE+1]]:{{[0-9]+}}: error:
 	.equ   ident1, 0 // EOL COMMENT
-	// CHECK: [[@LINE+1]]:19: error: unexpected token in '.equiv' directive
+	// CHECK: [[#@LINE+1]]:19: error: expected newline
 	.equiv ident2, 0 $
 	// CHECK-NOT: [[@LINE+1]]:{{[0-9]+}}: error:
 	.equiv ident2, 0 // EOL COMMENT
-	// CHECK: [[@LINE+1]]:19: error: unexpected token in '.set' directive
+	// CHECK: [[#@LINE+1]]:19: error: expected newline
 	.set   ident3, 0 $
 	// CHECK-NOT: [[@LINE+1]]:{{[0-9]+}}: error:
 	.set   ident3, 0 // EOL COMMENT
@@ -105,47 +105,47 @@
 	.dc.d 0 $		
 	// CHECK-NOT: [[@LINE+1]]:{{[0-9]+}}: error:
 	.dc.d 0 // EOL COMMENT		
-	// CHECK: [[@LINE+1]]:13: error: unexpected token in '.fill' directive
+	// CHECK: [[#@LINE+1]]:13: error: expected newline
 	.fill 1, 1 $
 	// CHECK-NOT: [[@LINE+1]]:{{[0-9]+}}: error:
 	.fill 1, 1 // EOL COMMENT
-	// CHECK: [[@LINE+1]]:17: error: unexpected token in '.fill' directive
+	// CHECK: [[#@LINE+1]]:17: error: expected newline
 	.fill 1, 1, 10 $
 	// CHECK-NOT: [[@LINE+1]]:{{[0-9]+}}: error:
 	.fill 1, 1, 10 // EOL COMMENT
-	// CHECK: [[@LINE+1]]:16: error: unexpected token in '.org' directive
+	// CHECK: [[#@LINE+1]]:16: error: expected newline
         .org 1 $
 	// CHECK-NOT: [[@LINE+1]]:{{[0-9]+}}: error:
         .org 1 // EOL COMMENT
-	// CHECK: [[@LINE+1]]:11: error: unexpected token in directive	
+	// CHECK: [[#@LINE+1]]:11: error: expected newline
 	.align 0 $
 	// CHECK-NOT: [[@LINE+1]]:{{[0-9]+}}: error:
 	.align 0 // EOL COMMENT
-	// CHECK: [[@LINE+1]]:13: error: unexpected token in directive
+	// CHECK: [[#@LINE+1]]:13: error: expected newline
 	.align32 0 $
 	// CHECK-NOT: [[@LINE+1]]:{{[0-9]+}}: error:
 	.align32 0 // EOL COMMENT
-	// CHECK: [[@LINE+1]]:12: error: unexpected token in directive
+	// CHECK: [[#@LINE+1]]:12: error: expected newline
 	.balign 0 $
 	// CHECK-NOT: [[@LINE+1]]:{{[0-9]+}}: error:
 	.balign 0 // EOL COMMENT
-	// CHECK: [[@LINE+1]]:13: error: unexpected token in directive
+	// CHECK: [[#@LINE+1]]:13: error: expected newline
 	.balignw 0 $
 	// CHECK-NOT: [[@LINE+1]]:{{[0-9]+}}: error:
 	.balignw 0 // EOL COMMENT
-	// CHECK: [[@LINE+1]]:13: error: unexpected token in directive
+	// CHECK: [[#@LINE+1]]:13: error: expected newline
 	.balignl 0 $
 	// CHECK-NOT: [[@LINE+1]]:{{[0-9]+}}: error:
 	.balignl 0 // EOL COMMENT
-	// CHECK: [[@LINE+1]]:13: error: unexpected token in directive
+	// CHECK: [[#@LINE+1]]:13: error: expected newline
 	.p2align 0 $
 	// CHECK-NOT: [[@LINE+1]]:{{[0-9]+}}: error:
 	.p2align 0 // EOL COMMENT
-	// CHECK: [[@LINE+1]]:14: error: unexpected token in directive
+	// CHECK: [[#@LINE+1]]:14: error: expected newline
 	.p2alignw 0 $
 	// CHECK-NOT: [[@LINE+1]]:{{[0-9]+}}: error:
 	.p2alignw 0 // EOL COMMENT
-	// CHECK: [[@LINE+1]]:14: error: unexpected token in directive
+	// CHECK: [[#@LINE+1]]:14: error: expected newline
 	.p2alignl 0 $
 	// CHECK-NOT: [[@LINE+1]]:{{[0-9]+}}: error:
 	.p2alignl 0 // EOL COMMENT
@@ -248,7 +248,7 @@
 	// CHECK-NOT: [[@LINE+1]]:{{[0-9]+}}: error:
 	.cfi_startproc // EOL COMMENT
 	.cfi_endproc
-	// CHECK: [[@LINE+1]]:24: error: unexpected token in '.cfi_startproc' directive
+	// CHECK: [[#@LINE+1]]:24: error: expected newline
 	.cfi_startproc simple $
 	// CHECK-NOT: [[@LINE+1]]:{{[0-9]+}}: error:
 	.cfi_startproc simple // EOL COMMENT

diff  --git a/llvm/test/MC/AsmParser/directive_incbin.s b/llvm/test/MC/AsmParser/directive_incbin.s
index bae3a2d15f2b..073da1f6e719 100644
--- a/llvm/test/MC/AsmParser/directive_incbin.s
+++ b/llvm/test/MC/AsmParser/directive_incbin.s
@@ -28,13 +28,11 @@
 
 .data
 .incbin "incbin\137abcd" 1
-
-# CHECK-ERROR: error: unexpected token in '.incbin' directive
+# CHECK-ERROR: :[[#@LINE-1]]:26: error: expected newline
 
 .data
 .incbin "incbin\137abcd", 1 2
-
-# CHECK-ERROR: error: unexpected token in '.incbin' directive
+# CHECK-ERROR: :[[#@LINE-1]]:29: error: expected newline
 
 .data
 .incbin "incbin\137abcd", -1

diff  --git a/llvm/test/MC/AsmParser/if-diagnostics.s b/llvm/test/MC/AsmParser/if-diagnostics.s
index d102a5686d98..a90b496fe283 100644
--- a/llvm/test/MC/AsmParser/if-diagnostics.s
+++ b/llvm/test/MC/AsmParser/if-diagnostics.s
@@ -10,7 +10,7 @@
 .ifeq 0, 3
 .endif
 
-// CHECK:error: unexpected token in '.if' directive
+// CHECK:error: expected newline
 // CHECK: .ifeq 0, 3
 // CHECK:        ^
 

diff  --git a/llvm/test/MC/ELF/cfi.s b/llvm/test/MC/ELF/cfi.s
index 09e2c30488c0..d96abfdaafe4 100644
--- a/llvm/test/MC/ELF/cfi.s
+++ b/llvm/test/MC/ELF/cfi.s
@@ -453,9 +453,9 @@ f37:
 
 // ERR: [[#@LINE+1]]:16: error: unexpected token in '.cfi_startproc' directive
 .cfi_startproc $
-// ERR: [[#@LINE+1]]:23: error: unexpected token in '.cfi_startproc' directive
+// ERR: [[#@LINE+1]]:23: error: expected newline in '.cfi_startproc' directive
 .cfi_startproc simple $
 
-// ERR: [[#@LINE+1]]:14: error: unexpected token in '.cfi_endproc' directive
+// ERR: [[#@LINE+1]]:14: error: expected newline in '.cfi_endproc' directive
 .cfi_endproc $
 .endif


        


More information about the llvm-commits mailing list