[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