diff --git a/llvm/include/llvm/MC/MCParser/MCAsmParser.h b/llvm/include/llvm/MC/MCParser/MCAsmParser.h index 391a6b0b575e5d..02cc22009196de 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 parseOne, bool hasComma = true); diff --git a/llvm/lib/MC/MCParser/AsmParser.cpp b/llvm/lib/MC/MCParser/AsmParser.cpp index 2d6d060cb25c11..aafd68e9c3817a 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 c2fa7be56ad2a0..e3f46f201b48f6 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 996473bbd45b9e..c513abcc6bcc32 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 ebc55e7af9c167..4dd35d289d999c 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 5ddf6e3e0f9198..ca806f36ff95bd 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 bae3a2d15f2ba0..073da1f6e71910 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 d102a5686d9804..a90b496fe28371 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 09e2c30488c020..d96abfdaafe496 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