[llvm] 3d473ae - [MC] Remove unneeded "in '.xxx' directive" from diagnostics
Fangrui Song via llvm-commits
llvm-commits at lists.llvm.org
Tue May 4 13:30:34 PDT 2021
Author: Fangrui Song
Date: 2021-05-04T13:30:29-07:00
New Revision: 3d473ae72ea3f1bff6db6a3ebc226f3032cf530d
URL: https://github.com/llvm/llvm-project/commit/3d473ae72ea3f1bff6db6a3ebc226f3032cf530d
DIFF: https://github.com/llvm/llvm-project/commit/3d473ae72ea3f1bff6db6a3ebc226f3032cf530d.diff
LOG: [MC] Remove unneeded "in '.xxx' directive" from diagnostics
The directive name is not useful because the next line replicates the error line
which includes the directive.
Added:
Modified:
llvm/lib/MC/MCParser/AsmParser.cpp
llvm/test/MC/AsmParser/AArch64/directive-parse-err.s
llvm/test/MC/AsmParser/equ.s
llvm/test/MC/AsmParser/exprs-invalid.s
llvm/test/MC/AsmParser/floating-literals.s
llvm/test/MC/COFF/cv-fpo-errors.s
llvm/test/MC/ELF/cfi.s
llvm/test/MC/ELF/lto-discard.s
llvm/test/MC/Hexagon/data-directives-invalid.s
llvm/test/MC/Mips/asciiz-directive-bad.s
llvm/test/MC/RISCV/data-directives-invalid.s
Removed:
################################################################################
diff --git a/llvm/lib/MC/MCParser/AsmParser.cpp b/llvm/lib/MC/MCParser/AsmParser.cpp
index 5f807d8f7ef2..9f4360ed9060 100644
--- a/llvm/lib/MC/MCParser/AsmParser.cpp
+++ b/llvm/lib/MC/MCParser/AsmParser.cpp
@@ -2944,7 +2944,7 @@ bool AsmParser::parseDirectiveSet(StringRef IDVal, bool allow_redef) {
StringRef Name;
if (check(parseIdentifier(Name), "expected identifier") ||
parseToken(AsmToken::Comma) || parseAssignment(Name, allow_redef, true))
- return addErrorSuffix(" in '" + Twine(IDVal) + "' directive");
+ return true;
return false;
}
@@ -3059,9 +3059,7 @@ bool AsmParser::parseDirectiveAscii(StringRef IDVal, bool ZeroTerminated) {
return false;
};
- if (parseMany(parseOp))
- return addErrorSuffix(" in '" + Twine(IDVal) + "' directive");
- return false;
+ return parseMany(parseOp);
}
/// parseDirectiveReloc
@@ -3125,9 +3123,7 @@ bool AsmParser::parseDirectiveValue(StringRef IDVal, unsigned Size) {
return false;
};
- if (parseMany(parseOp))
- return addErrorSuffix(" in '" + Twine(IDVal) + "' directive");
- return false;
+ return parseMany(parseOp);
}
static bool parseHexOcta(AsmParser &Asm, uint64_t &hi, uint64_t &lo) {
@@ -3169,9 +3165,7 @@ bool AsmParser::parseDirectiveOctaValue(StringRef IDVal) {
return false;
};
- if (parseMany(parseOp))
- return addErrorSuffix(" in '" + Twine(IDVal) + "' directive");
- return false;
+ return parseMany(parseOp);
}
bool AsmParser::parseRealValue(const fltSemantics &Semantics, APInt &Res) {
@@ -3228,9 +3222,7 @@ bool AsmParser::parseDirectiveRealValue(StringRef IDVal,
return false;
};
- if (parseMany(parseOp))
- return addErrorSuffix(" in '" + Twine(IDVal) + "' directive");
- return false;
+ return parseMany(parseOp);
}
/// parseDirectiveZero
@@ -3310,9 +3302,9 @@ bool AsmParser::parseDirectiveOrg() {
int64_t FillExpr = 0;
if (parseOptionalToken(AsmToken::Comma))
if (parseAbsoluteExpression(FillExpr))
- return addErrorSuffix(" in '.org' directive");
+ return true;
if (parseEOL())
- return addErrorSuffix(" in '.org' directive");
+ return true;
getStreamer().emitValueToOffset(Offset, FillExpr, OffsetLoc);
return false;
@@ -3349,14 +3341,14 @@ bool AsmParser::parseDirectiveAlign(bool IsPow2, unsigned ValueSize) {
};
if (checkForValidSection())
- return addErrorSuffix(" in directive");
+ return true;
// 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 parseEOL();
}
if (parseAlign())
- return addErrorSuffix(" in directive");
+ return true;
// Always emit an alignment here even if we thrown an error.
bool ReturnVal = false;
@@ -4042,7 +4034,7 @@ bool AsmParser::parseDirectiveCVDefRange() {
bool AsmParser::parseDirectiveCVString() {
std::string Data;
if (checkForValidSection() || parseEscapedString(Data))
- return addErrorSuffix(" in '.cv_string' directive");
+ return true;
// Put the string in the table and emit the offset.
std::pair<StringRef, unsigned> Insertion =
@@ -4084,8 +4076,8 @@ bool AsmParser::parseDirectiveCVFPOData() {
StringRef ProcName;
if (parseIdentifier(ProcName))
return TokError("expected symbol name");
- if (parseEOL("unexpected tokens"))
- return addErrorSuffix(" in '.cv_fpo_data' directive");
+ if (parseEOL())
+ return true;
MCSymbol *ProcSym = getContext().getOrCreateSymbol(ProcName);
getStreamer().EmitCVFPOData(ProcSym, DirLoc);
return false;
@@ -4124,7 +4116,7 @@ bool AsmParser::parseDirectiveCFIStartProc() {
if (check(parseIdentifier(Simple) || Simple != "simple",
"unexpected token") ||
parseEOL())
- return addErrorSuffix(" in '.cfi_startproc' directive");
+ return true;
}
// TODO(kristina): Deal with a corner case of incorrect diagnostic context
@@ -4140,7 +4132,7 @@ bool AsmParser::parseDirectiveCFIStartProc() {
/// ::= .cfi_endproc
bool AsmParser::parseDirectiveCFIEndProc() {
if (parseEOL())
- return addErrorSuffix(" in '.cfi_endproc' directive");
+ return true;
getStreamer().emitCFIEndProc();
return false;
}
@@ -4776,9 +4768,9 @@ bool AsmParser::parseDirectiveSpace(StringRef IDVal) {
int64_t FillExpr = 0;
if (parseOptionalToken(AsmToken::Comma))
if (parseAbsoluteExpression(FillExpr))
- return addErrorSuffix("in '" + Twine(IDVal) + "' directive");
+ return true;
if (parseEOL())
- return addErrorSuffix("in '" + Twine(IDVal) + "' directive");
+ return true;
// FIXME: Sometimes the fill expr is 'nop' if it isn't supplied, instead of 0.
getStreamer().emitFill(*NumBytes, FillExpr, NumBytesLoc);
@@ -4889,10 +4881,7 @@ bool AsmParser::parseDirectiveLEB128(bool Signed) {
return false;
};
- if (parseMany(parseOp))
- return addErrorSuffix(" in directive");
-
- return false;
+ return parseMany(parseOp);
}
/// parseDirectiveSymbolAttribute
@@ -4918,9 +4907,7 @@ bool AsmParser::parseDirectiveSymbolAttribute(MCSymbolAttr Attr) {
return false;
};
- if (parseMany(parseOp))
- return addErrorSuffix(" in directive");
- return false;
+ return parseMany(parseOp);
}
/// parseDirectiveComm
@@ -5860,9 +5847,7 @@ bool AsmParser::parseDirectiveLTODiscard() {
};
LTODiscardSymbols.clear();
- if (parseMany(ParseOp))
- return addErrorSuffix(" in directive");
- return false;
+ return parseMany(ParseOp);
}
// We are comparing pointers, but the pointers are relative to a single string.
diff --git a/llvm/test/MC/AsmParser/AArch64/directive-parse-err.s b/llvm/test/MC/AsmParser/AArch64/directive-parse-err.s
index 5496da52fa9c..754b7afe7aee 100644
--- a/llvm/test/MC/AsmParser/AArch64/directive-parse-err.s
+++ b/llvm/test/MC/AsmParser/AArch64/directive-parse-err.s
@@ -3,155 +3,155 @@
// CHECK: [[#@LINE+1]]:19: error: expected newline
.equ ident1, 0 $
- // CHECK-NOT: [[@LINE+1]]:{{[0-9]+}}: error:
+ // CHECK-NOT: :[[#@LINE+1]]:{{[0-9]+}}: error:
.equ ident1, 0 // EOL COMMENT
// CHECK: [[#@LINE+1]]:19: error: expected newline
.equiv ident2, 0 $
- // CHECK-NOT: [[@LINE+1]]:{{[0-9]+}}: error:
+ // CHECK-NOT: :[[#@LINE+1]]:{{[0-9]+}}: error:
.equiv ident2, 0 // EOL COMMENT
// CHECK: [[#@LINE+1]]:19: error: expected newline
.set ident3, 0 $
- // CHECK-NOT: [[@LINE+1]]:{{[0-9]+}}: error:
+ // CHECK-NOT: :[[#@LINE+1]]:{{[0-9]+}}: error:
.set ident3, 0 // EOL COMMENT
- // CHECK: [[@LINE+1]]:20: error: unexpected token in '.ascii' directive
+ // CHECK: :[[#@LINE+1]]:20: error: unexpected token
.ascii "string1" $
- // CHECK-NOT: [[@LINE+1]]:{{[0-9]+}}: error:
+ // CHECK-NOT: :[[#@LINE+1]]:{{[0-9]+}}: error:
.ascii "string1" // EOL COMMENT
- // CHECK: [[@LINE+1]]:20: error: unexpected token in '.asciz' directive
+ // CHECK: :[[#@LINE+1]]:20: error: unexpected token
.asciz "string2" $
- // CHECK-NOT: [[@LINE+1]]:{{[0-9]+}}: error:
+ // CHECK-NOT: :[[#@LINE+1]]:{{[0-9]+}}: error:
.asciz "string2" // EOL COMMENT
- // CHECK: [[@LINE+1]]:20: error: unexpected token in '.string' directive
+ // CHECK: :[[#@LINE+1]]:20: error: unexpected token
.string "string3" $
- // CHECK-NOT: [[@LINE+1]]:{{[0-9]+}}: error:
+ // CHECK-NOT: :[[#@LINE+1]]:{{[0-9]+}}: error:
.string "string3" // EOL COMMENT
- // CHECK: [[@LINE+1]]:10: error: unexpected token in '.byte' directive
+ // CHECK: :[[#@LINE+1]]:10: error: unexpected token
.byte 0 $
- // CHECK-NOT: [[@LINE+1]]:{{[0-9]+}}: error:
+ // CHECK-NOT: :[[#@LINE+1]]:{{[0-9]+}}: error:
.byte 0 // EOL COMMENT
- // CHECK: [[@LINE+1]]:10: error: unexpected token in '.dc.b' directive
+ // CHECK: :[[#@LINE+1]]:10: error: unexpected token
.dc.b 0 $
- // CHECK-NOT: [[@LINE+1]]:{{[0-9]+}}: error:
+ // CHECK-NOT: :[[#@LINE+1]]:{{[0-9]+}}: error:
.dc.b 0 // EOL COMMENT
- // CHECK: [[@LINE+1]]:8: error: unexpected token in '.dc' directive
+ // CHECK: :[[#@LINE+1]]:8: error: unexpected token
.dc 0 $
- // CHECK-NOT: [[@LINE+1]]:{{[0-9]+}}: error:
+ // CHECK-NOT: :[[#@LINE+1]]:{{[0-9]+}}: error:
.dc.b 0 // EOL COMMENT
- // CHECK: [[@LINE+1]]:10: error: unexpected token in '.dc.w' directive
+ // CHECK: :[[#@LINE+1]]:10: error: unexpected token
.dc.w 0 $
- // CHECK-NOT: [[@LINE+1]]:{{[0-9]+}}: error:
+ // CHECK-NOT: :[[#@LINE+1]]:{{[0-9]+}}: error:
.dc.w 0 // EOL COMMENT
- // CHECK: [[@LINE+1]]:11: error: unexpected token in '.short' directive
+ // CHECK: :[[#@LINE+1]]:11: error: unexpected token
.short 0 $
- // CHECK-NOT: [[@LINE+1]]:{{[0-9]+}}: error:
+ // CHECK-NOT: :[[#@LINE+1]]:{{[0-9]+}}: error:
.short 0 // EOL COMMENT
- // CHECK: [[@LINE+1]]:11: error: unexpected token in '.value' directive
+ // CHECK: :[[#@LINE+1]]:11: error: unexpected token
.value 0 $
- // CHECK-NOT: [[@LINE+1]]:{{[0-9]+}}: error:
+ // CHECK-NOT: :[[#@LINE+1]]:{{[0-9]+}}: error:
.value 0 // EOL COMMENT
- // CHECK: [[@LINE+1]]:11: error: unexpected token in '.2byte' directive
+ // CHECK: :[[#@LINE+1]]:11: error: unexpected token
.2byte 0 $
- // CHECK-NOT: [[@LINE+1]]:{{[0-9]+}}: error:
+ // CHECK-NOT: :[[#@LINE+1]]:{{[0-9]+}}: error:
.2byte 0 // EOL COMMENT
- // CHECK: [[@LINE+1]]:10: error: unexpected token in '.long' directive
+ // CHECK: :[[#@LINE+1]]:10: error: unexpected token
.long 0 $
- // CHECK-NOT: [[@LINE+1]]:{{[0-9]+}}: error:
+ // CHECK-NOT: :[[#@LINE+1]]:{{[0-9]+}}: error:
.long 0 // EOL COMMENT
- // CHECK: [[@LINE+1]]:10: error: unexpected token in '.int' directive
+ // CHECK: :[[#@LINE+1]]:10: error: unexpected token
.int 0 $
- // CHECK-NOT: [[@LINE+1]]:{{[0-9]+}}: error:
+ // CHECK-NOT: :[[#@LINE+1]]:{{[0-9]+}}: error:
.int 0 // EOL COMMENT
- // CHECK: [[@LINE+1]]:11: error: unexpected token in '.4byte' directive
+ // CHECK: :[[#@LINE+1]]:11: error: unexpected token
.4byte 0 $
- // CHECK-NOT: [[@LINE+1]]:{{[0-9]+}}: error:
+ // CHECK-NOT: :[[#@LINE+1]]:{{[0-9]+}}: error:
.4byte 0 // EOL COMMENT
- // CHECK: [[@LINE+1]]:10: error: unexpected token in '.dc.l' directive
+ // CHECK: :[[#@LINE+1]]:10: error: unexpected token
.dc.l 0 $
- // CHECK-NOT: [[@LINE+1]]:{{[0-9]+}}: error:
+ // CHECK-NOT: :[[#@LINE+1]]:{{[0-9]+}}: error:
.dc.l 0 // EOL COMMENT
- // CHECK: [[@LINE+1]]:10: error: unexpected token in '.quad' directive
+ // CHECK: :[[#@LINE+1]]:10: error: unexpected token
.quad 0 $
- // CHECK-NOT: [[@LINE+1]]:{{[0-9]+}}: error:
+ // CHECK-NOT: :[[#@LINE+1]]:{{[0-9]+}}: error:
.quad 0 // EOL COMMENT
- // CHECK: [[@LINE+1]]:11: error: unexpected token in '.8byte' directive
+ // CHECK: :[[#@LINE+1]]:11: error: unexpected token
.8byte 0 $
- // CHECK-NOT: [[@LINE+1]]:{{[0-9]+}}: error:
+ // CHECK-NOT: :[[#@LINE+1]]:{{[0-9]+}}: error:
.8byte 0 // EOL COMMENT
- // CHECK: [[@LINE+1]]:10: error: unexpected token in '.dc.a' directive
+ // CHECK: :[[#@LINE+1]]:10: error: unexpected token
.dc.a 0 $
- // CHECK-NOT: [[@LINE+1]]:{{[0-9]+}}: error:
+ // CHECK-NOT: :[[#@LINE+1]]:{{[0-9]+}}: error:
.dc.a 0 // EOL COMMENT
- // CHECK: [[@LINE+1]]:10: error: unexpected token in '.octa' directive
+ // CHECK: :[[#@LINE+1]]:10: error: unexpected token
.octa 0 $
- // CHECK-NOT: [[@LINE+1]]:{{[0-9]+}}: error:
+ // CHECK-NOT: :[[#@LINE+1]]:{{[0-9]+}}: error:
.octa 0 // EOL COMMENT
- // CHECK: [[@LINE+1]]:12: error: unexpected token in '.single' directive
+ // CHECK: :[[#@LINE+1]]:12: error: unexpected token
.single 0 $
- // CHECK-NOT: [[@LINE+1]]:{{[0-9]+}}: error:
+ // CHECK-NOT: :[[#@LINE+1]]:{{[0-9]+}}: error:
.single 0 // EOL COMMENT
- // CHECK: [[@LINE+1]]:11: error: unexpected token in '.float' directive
+ // CHECK: :[[#@LINE+1]]:11: error: unexpected token
.float 0 $
- // CHECK-NOT: [[@LINE+1]]:{{[0-9]+}}: error:
+ // CHECK-NOT: :[[#@LINE+1]]:{{[0-9]+}}: error:
.float 0 // EOL COMMENT
- // CHECK: [[@LINE+1]]:10: error: unexpected token in '.dc.s' directive
+ // CHECK: :[[#@LINE+1]]:10: error: unexpected token
.dc.s 0 $
- // CHECK-NOT: [[@LINE+1]]:{{[0-9]+}}: error:
+ // CHECK-NOT: :[[#@LINE+1]]:{{[0-9]+}}: error:
.dc.s 0 // EOL COMMENT
- // CHECK: [[@LINE+1]]:12: error: unexpected token in '.double' directive
+ // CHECK: :[[#@LINE+1]]:12: error: unexpected token
.double 0 $
- // CHECK-NOT: [[@LINE+1]]:{{[0-9]+}}: error:
+ // CHECK-NOT: :[[#@LINE+1]]:{{[0-9]+}}: error:
.double 0 // EOL COMMENT
- // CHECK: [[@LINE+1]]:10: error: unexpected token in '.dc.d' directive
+ // CHECK: :[[#@LINE+1]]:10: error: unexpected token
.dc.d 0 $
- // CHECK-NOT: [[@LINE+1]]:{{[0-9]+}}: error:
+ // CHECK-NOT: :[[#@LINE+1]]:{{[0-9]+}}: error:
.dc.d 0 // EOL COMMENT
// CHECK: [[#@LINE+1]]:13: error: expected newline
.fill 1, 1 $
- // CHECK-NOT: [[@LINE+1]]:{{[0-9]+}}: error:
+ // CHECK-NOT: :[[#@LINE+1]]:{{[0-9]+}}: error:
.fill 1, 1 // EOL COMMENT
// CHECK: [[#@LINE+1]]:17: error: expected newline
.fill 1, 1, 10 $
- // CHECK-NOT: [[@LINE+1]]:{{[0-9]+}}: error:
+ // CHECK-NOT: :[[#@LINE+1]]:{{[0-9]+}}: error:
.fill 1, 1, 10 // EOL COMMENT
// CHECK: [[#@LINE+1]]:16: error: expected newline
.org 1 $
- // CHECK-NOT: [[@LINE+1]]:{{[0-9]+}}: error:
+ // CHECK-NOT: :[[#@LINE+1]]:{{[0-9]+}}: error:
.org 1 // EOL COMMENT
// CHECK: [[#@LINE+1]]:11: error: expected newline
.align 0 $
- // CHECK-NOT: [[@LINE+1]]:{{[0-9]+}}: error:
+ // CHECK-NOT: :[[#@LINE+1]]:{{[0-9]+}}: error:
.align 0 // EOL COMMENT
// CHECK: [[#@LINE+1]]:13: error: expected newline
.align32 0 $
- // CHECK-NOT: [[@LINE+1]]:{{[0-9]+}}: error:
+ // CHECK-NOT: :[[#@LINE+1]]:{{[0-9]+}}: error:
.align32 0 // EOL COMMENT
// CHECK: [[#@LINE+1]]:12: error: expected newline
.balign 0 $
- // CHECK-NOT: [[@LINE+1]]:{{[0-9]+}}: error:
+ // CHECK-NOT: :[[#@LINE+1]]:{{[0-9]+}}: error:
.balign 0 // EOL COMMENT
// CHECK: [[#@LINE+1]]:13: error: expected newline
.balignw 0 $
- // CHECK-NOT: [[@LINE+1]]:{{[0-9]+}}: error:
+ // CHECK-NOT: :[[#@LINE+1]]:{{[0-9]+}}: error:
.balignw 0 // EOL COMMENT
// CHECK: [[#@LINE+1]]:13: error: expected newline
.balignl 0 $
- // CHECK-NOT: [[@LINE+1]]:{{[0-9]+}}: error:
+ // CHECK-NOT: :[[#@LINE+1]]:{{[0-9]+}}: error:
.balignl 0 // EOL COMMENT
// CHECK: [[#@LINE+1]]:13: error: expected newline
.p2align 0 $
- // CHECK-NOT: [[@LINE+1]]:{{[0-9]+}}: error:
+ // CHECK-NOT: :[[#@LINE+1]]:{{[0-9]+}}: error:
.p2align 0 // EOL COMMENT
// CHECK: [[#@LINE+1]]:14: error: expected newline
.p2alignw 0 $
- // CHECK-NOT: [[@LINE+1]]:{{[0-9]+}}: error:
+ // CHECK-NOT: :[[#@LINE+1]]:{{[0-9]+}}: error:
.p2alignw 0 // EOL COMMENT
// CHECK: [[#@LINE+1]]:14: error: expected newline
.p2alignl 0 $
- // CHECK-NOT: [[@LINE+1]]:{{[0-9]+}}: error:
+ // CHECK-NOT: :[[#@LINE+1]]:{{[0-9]+}}: error:
.p2alignl 0 // EOL COMMENT
// CHECK: [[#@LINE+1]]:8: error: expected newline
.line $
- // CHECK-NOT: [[@LINE+1]]:{{[0-9]+}}: error:
+ // CHECK-NOT: :[[#@LINE+1]]:{{[0-9]+}}: error:
.line // EOL COMMENT
// CHECK: [[#@LINE+1]]:10: error: expected newline
.line 0 $
@@ -159,20 +159,20 @@
.line 0 // EOL COMMENT
.file 1 "hello"
- // CHECK: [[@LINE+1]]:16: error: unexpected token in '.loc' directive
+ // CHECK: :[[#@LINE+1]]:16: error: unexpected token
.loc 1 $
- // CHECK-NOT: [[@LINE+1]]:{{[0-9]+}}: error:
+ // CHECK-NOT: :[[#@LINE+1]]:{{[0-9]+}}: error:
.loc 1 // EOL COMMENT
- // CHECK: [[@LINE+1]]:21: error: unexpected token in '.cv_file' directive
+ // CHECK: :[[#@LINE+1]]:21: error: unexpected token
.cv_file 1 "hello" $
- // CHECK-NOT: [[@LINE+1]]:{{[0-9]+}}: error:
+ // CHECK-NOT: :[[#@LINE+1]]:{{[0-9]+}}: error:
.cv_file 1 "hello" // EOL COMMENT
.cv_func_id 1
- // CHECK: [[@LINE+1]]:14: error: unexpected token in '.cv_loc' directive
+ // CHECK: :[[#@LINE+1]]:14: error: unexpected token
.cv_loc 1 1 $
- // CHECK-NOT: [[@LINE+1]]:{{[0-9]+}}: error:
+ // CHECK-NOT: :[[#@LINE+1]]:{{[0-9]+}}: error:
.cv_loc 1 1 // EOL COMMENT
// CHECK: [[#@LINE+1]]:28: error: expected newline
@@ -180,62 +180,62 @@
// CHECK-NOT: [[#@LINE+1]]:{{[0-9]+}}: error:
.bundle_lock align_to_end // EOL COMMENT
- // CHECK: [[@LINE+1]]:11: error: invalid token in expression in directive
+ // CHECK: [[#@LINE+1]]:11: error: invalid token in expression
.sleb128 $
- // CHECK-NOT: [[@LINE+1]]:{{[0-9]+}}: error:
+ // CHECK-NOT: :[[#@LINE+1]]:{{[0-9]+}}: error:
.sleb128 // EOL COMMENT
- // CHECK: [[@LINE+1]]:13: error: unexpected token in directive
+ // CHECK: :[[#@LINE+1]]:13: error: unexpected token
.sleb128 0 $
- // CHECK-NOT: [[@LINE+1]]:{{[0-9]+}}: error:
+ // CHECK-NOT: :[[#@LINE+1]]:{{[0-9]+}}: error:
.sleb128 0 // EOL COMMENT
- // CHECK: [[@LINE+1]]:11: error: invalid token in expression in directive
+ // CHECK: :[[#@LINE+1]]:11: error: invalid token in expression
.uleb128 $
- // CHECK-NOT: [[@LINE+1]]:{{[0-9]+}}: error:
+ // CHECK-NOT: :[[#@LINE+1]]:{{[0-9]+}}: error:
.uleb128 // EOL COMMENT
- // CHECK: [[@LINE+1]]:13: error: unexpected token in directive
+ // CHECK: :[[#@LINE+1]]:13: error: unexpected token
.uleb128 0 $
- // CHECK-NOT: [[@LINE+1]]:{{[0-9]+}}: error:
+ // CHECK-NOT: :[[#@LINE+1]]:{{[0-9]+}}: error:
.uleb128 0 // EOL COMMENT
- // CHECK: [[@LINE+1]]:31: error: unexpected token
+ // CHECK: :[[#@LINE+1]]:31: error: unexpected token
.globl a1 $
- // CHECK-NOT: [[@LINE+1]]:{{[0-9]+}}: error:
+ // CHECK-NOT: :[[#@LINE+1]]:{{[0-9]+}}: error:
.globl a1 // EOL COMMENT
- // CHECK: [[@LINE+1]]:31: error: unexpected token in directive
+ // CHECK: :[[#@LINE+1]]:31: error: unexpected token
.global a2 $
- // CHECK-NOT: [[@LINE+1]]:{{[0-9]+}}: error:
+ // CHECK-NOT: :[[#@LINE+1]]:{{[0-9]+}}: error:
.global a2 // EOL COMMENT
- // CHECK: [[@LINE+1]]:31: error: unexpected token in directive
+ // CHECK: :[[#@LINE+1]]:31: error: unexpected token
.lazy_reference a3 $
- // CHECK-NOT: [[@LINE+1]]:{{[0-9]+}}: error:
+ // CHECK-NOT: :[[#@LINE+1]]:{{[0-9]+}}: error:
.lazy_reference a3 // EOL COMMENT
- // CHECK: [[@LINE+1]]:31: error: unexpected token in directive
+ // CHECK: :[[#@LINE+1]]:31: error: unexpected token
.symbol_resolver a4 $
- // CHECK-NOT: [[@LINE+1]]:{{[0-9]+}}: error:
+ // CHECK-NOT: :[[#@LINE+1]]:{{[0-9]+}}: error:
.symbol_resolver a4 // EOL COMMENT
- // CHECK: [[@LINE+1]]:31: error: unexpected token in directive
+ // CHECK: :[[#@LINE+1]]:31: error: unexpected token
.private_extern a5 $
- // CHECK-NOT: [[@LINE+1]]:{{[0-9]+}}: error:
+ // CHECK-NOT: :[[#@LINE+1]]:{{[0-9]+}}: error:
.private_extern a5 // EOL COMMENT
- // CHECK: [[@LINE+1]]:31: error: unexpected token in directive
+ // CHECK: :[[#@LINE+1]]:31: error: unexpected token
.reference a6 $
- // CHECK-NOT: [[@LINE+1]]:{{[0-9]+}}: error:
+ // CHECK-NOT: :[[#@LINE+1]]:{{[0-9]+}}: error:
.reference a6 // EOL COMMENT
- // CHECK: [[@LINE+1]]:31: error: unexpected token in directive
+ // CHECK: :[[#@LINE+1]]:31: error: unexpected token
.weak_definition a7 $
- // CHECK-NOT: [[@LINE+1]]:{{[0-9]+}}: error:
+ // CHECK-NOT: :[[#@LINE+1]]:{{[0-9]+}}: error:
.weak_definition a7 // EOL COMMENT
- // CHECK: [[@LINE+1]]:31: error: unexpected token in directive
+ // CHECK: :[[#@LINE+1]]:31: error: unexpected token
.weak_reference a8 $
- // CHECK-NOT: [[@LINE+1]]:{{[0-9]+}}: error:
+ // CHECK-NOT: :[[#@LINE+1]]:{{[0-9]+}}: error:
.weak_reference a8 // EOL COMMENT
- // CHECK: [[@LINE+1]]:31: error: unexpected token in directive
+ // CHECK: :[[#@LINE+1]]:31: error: unexpected token
.weak_def_can_be_hidden a9 $
- // CHECK-NOT: [[@LINE+1]]:{{[0-9]+}}: error:
+ // CHECK-NOT: :[[#@LINE+1]]:{{[0-9]+}}: error:
.weak_def_can_be_hidden a9 // EOL COMMENT
- // CHECK: [[@LINE+1]]:12: error: .warning argument must be a string
+ // CHECK: :[[#@LINE+1]]:12: error: .warning argument must be a string
.warning $
- // CHECK-NOT: [[@LINE+1]]:{{[0-9]+}}: error:
+ // CHECK-NOT: :[[#@LINE+1]]:{{[0-9]+}}: error:
.warning // EOL COMMENT
// CHECK: [[#@LINE+1]]:21: error: expected newline
.warning "warning" $
@@ -243,14 +243,14 @@
.warning "warning" // EOL COMMENT
- // CHECK: [[@LINE+1]]:17: error: unexpected token in '.cfi_startproc' directive
+ // CHECK: :[[#@LINE+1]]:17: error: unexpected token
.cfi_startproc $
- // CHECK-NOT: [[@LINE+1]]:{{[0-9]+}}: error:
+ // CHECK-NOT: :[[#@LINE+1]]:{{[0-9]+}}: error:
.cfi_startproc // EOL COMMENT
.cfi_endproc
// CHECK: [[#@LINE+1]]:24: error: expected newline
.cfi_startproc simple $
- // CHECK-NOT: [[@LINE+1]]:{{[0-9]+}}: error:
+ // CHECK-NOT: :[[#@LINE+1]]:{{[0-9]+}}: error:
.cfi_startproc simple // EOL COMMENT
.cfi_endproc
diff --git a/llvm/test/MC/AsmParser/equ.s b/llvm/test/MC/AsmParser/equ.s
index fc5d53103056..b231f013ecbb 100644
--- a/llvm/test/MC/AsmParser/equ.s
+++ b/llvm/test/MC/AsmParser/equ.s
@@ -4,7 +4,7 @@
.equ a, 0
.set a, 1
.equ a, 2
+// CHECK: :[[#@LINE+1]]:11: error: redefinition of 'a'
.equiv a, 3
+// CHECK: :[[#@LINE+1]]:12: error: missing expression
.set b, ""
-// CHECK: error: redefinition of 'a'
-// CHECK: error: missing expression in '.set' directive
diff --git a/llvm/test/MC/AsmParser/exprs-invalid.s b/llvm/test/MC/AsmParser/exprs-invalid.s
index dd1bac46b55d..c4d0c3e513ab 100644
--- a/llvm/test/MC/AsmParser/exprs-invalid.s
+++ b/llvm/test/MC/AsmParser/exprs-invalid.s
@@ -1,17 +1,17 @@
// RUN: not llvm-mc -triple x86_64-apple-darwin10 %s 2> %t.err | FileCheck %s
// RUN: FileCheck --check-prefix=CHECK-ERRORS %s < %t.err
// CHECK: .section __TEXT,__text,regular,pure_instructions
-// CHECK-ERRORS: [[@LINE+1]]:10: error: invalid octal number in '.long' directive
+// CHECK-ERRORS: :[[#@LINE+1]]:10: error: invalid octal number
.long 80+08
-// CHECK-ERRORS: [[@LINE+1]]:10: error: invalid hexadecimal number in '.long' directive
+// CHECK-ERRORS: :[[#@LINE+1]]:10: error: invalid hexadecimal number
.long 80+0xzz
-// CHECK-ERRORS: [[@LINE+1]]:7: error: out of range literal value in '.byte' directive
+// CHECK-ERRORS: :[[#@LINE+1]]:7: error: out of range literal value
.byte 256
-// CHECK-ERRORS: [[@LINE+1]]:7: error: out of range literal value in '.long' directive
+// CHECK-ERRORS: :[[#@LINE+1]]:7: error: out of range literal value
.long 4e71cf69 // double floating point constant due to missing "0x"
-// CHECK-ERRORS: [[@LINE+1]]:7: error: out of range literal value in '.word' directive
+// CHECK-ERRORS: :[[#@LINE+1]]:7: error: out of range literal value
.word 0xfffffffff
diff --git a/llvm/test/MC/AsmParser/floating-literals.s b/llvm/test/MC/AsmParser/floating-literals.s
index d3a2321e16fb..d424aa1be344 100644
--- a/llvm/test/MC/AsmParser/floating-literals.s
+++ b/llvm/test/MC/AsmParser/floating-literals.s
@@ -86,9 +86,9 @@
.double 1E-1
-#CHECK-ERROR: unexpected token in '.double' directive
+# CHECK-ERROR: :[[#@LINE+1]]:12: error: unexpected token
.double 1e1e
-# CHECK-ERROR: Invalid sign in float literal
+# CHECK-ERROR: :[[#@LINE+1]]:9: error: Invalid sign in float literal
.double 2.+1
# CHECK: .long 1310177520
diff --git a/llvm/test/MC/COFF/cv-fpo-errors.s b/llvm/test/MC/COFF/cv-fpo-errors.s
index baa2fa0d9378..e2b1a8f1eaa7 100644
--- a/llvm/test/MC/COFF/cv-fpo-errors.s
+++ b/llvm/test/MC/COFF/cv-fpo-errors.s
@@ -3,45 +3,45 @@
.globl _foo
_foo:
.cv_fpo_proc
- # CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: expected symbol name
+ # CHECK: :[[#@LINE-1]]:{{[0-9]+}}: error: expected symbol name
.cv_fpo_proc 1
- # CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: expected symbol name
+ # CHECK: :[[#@LINE-1]]:{{[0-9]+}}: error: expected symbol name
.cv_fpo_proc _foo extra
- # CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: expected parameter byte count
+ # CHECK: :[[#@LINE-1]]:{{[0-9]+}}: error: expected parameter byte count
.cv_fpo_proc _foo 4 extra
- # CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: unexpected tokens in '.cv_fpo_proc' directive
+ # CHECK: :[[#@LINE-1]]:{{[0-9]+}}: error: unexpected tokens
.cv_fpo_proc _foo 4
pushl %ebp
.cv_fpo_pushreg 1
- # CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: invalid register name in '.cv_fpo_pushreg' directive
+ # CHECK: :[[#@LINE-1]]:{{[0-9]+}}: error: invalid register name
.cv_fpo_pushreg ebp
subl $20, %esp
.cv_fpo_stackalloc asdf
- # CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: expected offset in '.cv_fpo_stackalloc' directive
+ # CHECK: :[[#@LINE-1]]:{{[0-9]+}}: error: expected offset
.cv_fpo_stackalloc 20 asdf
- # CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: unexpected tokens in '.cv_fpo_stackalloc' directive
+ # CHECK: :[[#@LINE-1]]:{{[0-9]+}}: error: unexpected tokens
.cv_fpo_stackalloc 20
.cv_fpo_endprologue asdf
- # CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: unexpected tokens in '.cv_fpo_endprologue' directive
+ # CHECK: :[[#@LINE-1]]:{{[0-9]+}}: error: unexpected tokens
.cv_fpo_endprologue
addl $20, %esp
popl %ebp
retl
.cv_fpo_endproc asdf
- # CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: unexpected tokens in '.cv_fpo_endproc' directive
+ # CHECK: :[[#@LINE-1]]:{{[0-9]+}}: error: unexpected tokens
.cv_fpo_endproc
.section .debug$S,"dr"
.p2align 2
.long 4 # Debug section magic
.cv_fpo_data
- # CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: expected symbol name
+ # CHECK: :[[#@LINE-1]]:{{[0-9]+}}: error: expected symbol name
.cv_fpo_data 1
- # CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: expected symbol name
+ # CHECK: :[[#@LINE-1]]:{{[0-9]+}}: error: expected symbol name
.cv_fpo_data _foo asdf
- # CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: unexpected tokens in '.cv_fpo_data' directive
+ # CHECK: :[[#@LINE-1]]:{{[0-9]+}}: error: expected newline
.cv_fpo_data _foo
.long 0
diff --git a/llvm/test/MC/ELF/cfi.s b/llvm/test/MC/ELF/cfi.s
index d96abfdaafe4..ea0e158d5a0b 100644
--- a/llvm/test/MC/ELF/cfi.s
+++ b/llvm/test/MC/ELF/cfi.s
@@ -451,11 +451,11 @@ f37:
// ERR: [[#@LINE+1]]:39: error: unexpected token
.cfi_sections .debug_frame, .eh_frame $
-// ERR: [[#@LINE+1]]:16: error: unexpected token in '.cfi_startproc' directive
+// ERR: [[#@LINE+1]]:16: error: unexpected token
.cfi_startproc $
-// ERR: [[#@LINE+1]]:23: error: expected newline in '.cfi_startproc' directive
+// ERR: [[#@LINE+1]]:23: error: expected newline
.cfi_startproc simple $
-// ERR: [[#@LINE+1]]:14: error: expected newline in '.cfi_endproc' directive
+// ERR: [[#@LINE+1]]:14: error: expected newline
.cfi_endproc $
.endif
diff --git a/llvm/test/MC/ELF/lto-discard.s b/llvm/test/MC/ELF/lto-discard.s
index 8ea8ab5775cd..0ca728e3958e 100644
--- a/llvm/test/MC/ELF/lto-discard.s
+++ b/llvm/test/MC/ELF/lto-discard.s
@@ -25,6 +25,6 @@ bar:
.ifdef ERR
.text
-# ERR: {{.*}}.s:[[#@LINE+1]]:14: error: expected identifier in directive
+# ERR: {{.*}}.s:[[#@LINE+1]]:14: error: expected identifier
.lto_discard 1
.endif
diff --git a/llvm/test/MC/Hexagon/data-directives-invalid.s b/llvm/test/MC/Hexagon/data-directives-invalid.s
index a381399b2753..ffcb8db7ebcd 100644
--- a/llvm/test/MC/Hexagon/data-directives-invalid.s
+++ b/llvm/test/MC/Hexagon/data-directives-invalid.s
@@ -1,20 +1,20 @@
# RUN: not llvm-mc -triple hexagon < %s 2>&1 | FileCheck %s
-# CHECK: [[@LINE+1]]:7: error: out of range literal value in '.byte' directive
+# CHECK: :[[#@LINE+1]]:7: error: out of range literal value
.byte 0xffa
-# CHECK: [[@LINE+1]]:7: error: out of range literal value in '.half' directive
+# CHECK: :[[#@LINE+1]]:7: error: out of range literal value
.half 0xffffa
-# CHECK: [[@LINE+1]]:8: error: out of range literal value in '.short' directive
+# CHECK: :[[#@LINE+1]]:8: error: out of range literal value
.short 0xffffa
-# CHECK: [[@LINE+1]]:8: error: out of range literal value in '.hword' directive
+# CHECK: :[[#@LINE+1]]:8: error: out of range literal value
.hword 0xffffa
-# CHECK: [[@LINE+1]]:8: error: out of range literal value in '.2byte' directive
+# CHECK: :[[#@LINE+1]]:8: error: out of range literal value
.2byte 0xffffa
-# CHECK: [[@LINE+1]]:7: error: out of range literal value in '.word' directive
+# CHECK: :[[#@LINE+1]]:7: error: out of range literal value
.word 0xffffffffa
-# CHECK: [[@LINE+1]]:7: error: out of range literal value in '.long' directive
+# CHECK: :[[#@LINE+1]]:7: error: out of range literal value
.long 0xffffffffa
-# CHECK: [[@LINE+1]]:8: error: out of range literal value in '.4byte' directive
+# CHECK: :[[#@LINE+1]]:8: error: out of range literal value
.4byte 0xffffffffa
-# CHECK: [[@LINE+1]]:8: error: literal value out of range for directive in '.8byte' directive
+# CHECK: :[[#@LINE+1]]:8: error: literal value out of range for directive
.8byte 0xffffffffffffffffa
diff --git a/llvm/test/MC/Mips/asciiz-directive-bad.s b/llvm/test/MC/Mips/asciiz-directive-bad.s
index 0f30cfbee630..44bd8b256a95 100644
--- a/llvm/test/MC/Mips/asciiz-directive-bad.s
+++ b/llvm/test/MC/Mips/asciiz-directive-bad.s
@@ -1,8 +1,8 @@
# RUN: not llvm-mc -triple mips-unknown-linux %s 2>&1 | FileCheck %s
+# CHECK: :[[#@LINE+1]]:11: error: expected string
.asciiz 12
-# CHECK: :[[@LINE-1]]:11: error: expected string in '.asciiz' directive
+# CHECK: :[[#@LINE+1]]:14: error: unexpected token
.asciiz "a"3
-# CHECK: :[[@LINE-1]]:14: error: unexpected token in '.asciiz' directive
+# CHECK: :[[#@LINE+1]]:15: error: expected string
.asciiz "a",
-# CHECK: :[[@LINE-1]]:15: error: expected string in '.asciiz' directive
diff --git a/llvm/test/MC/RISCV/data-directives-invalid.s b/llvm/test/MC/RISCV/data-directives-invalid.s
index 6618cd17fa2e..dd94a4866bfd 100644
--- a/llvm/test/MC/RISCV/data-directives-invalid.s
+++ b/llvm/test/MC/RISCV/data-directives-invalid.s
@@ -1,23 +1,23 @@
# RUN: not llvm-mc -triple riscv32 < %s 2>&1 | FileCheck %s
# RUN: not llvm-mc -triple riscv64 < %s 2>&1 | FileCheck %s
-# CHECK: [[@LINE+1]]:7: error: out of range literal value in '.byte' directive
+# CHECK: :[[#@LINE+1]]:7: error: out of range literal value
.byte 0xffa
-# CHECK: [[@LINE+1]]:7: error: out of range literal value in '.half' directive
+# CHECK: :[[#@LINE+1]]:7: error: out of range literal value
.half 0xffffa
-# CHECK: [[@LINE+1]]:8: error: out of range literal value in '.short' directive
+# CHECK: :[[#@LINE+1]]:8: error: out of range literal value
.short 0xffffa
-# CHECK: [[@LINE+1]]:8: error: out of range literal value in '.hword' directive
+# CHECK: :[[#@LINE+1]]:8: error: out of range literal value
.hword 0xffffa
-# CHECK: [[@LINE+1]]:8: error: out of range literal value in '.2byte' directive
+# CHECK: :[[#@LINE+1]]:8: error: out of range literal value
.2byte 0xffffa
-# CHECK: [[@LINE+1]]:7: error: out of range literal value in '.word' directive
+# CHECK: :[[#@LINE+1]]:7: error: out of range literal value
.word 0xffffffffa
-# CHECK: [[@LINE+1]]:7: error: out of range literal value in '.long' directive
+# CHECK: :[[#@LINE+1]]:7: error: out of range literal value
.long 0xffffffffa
-# CHECK: [[@LINE+1]]:8: error: out of range literal value in '.4byte' directive
+# CHECK: :[[#@LINE+1]]:8: error: out of range literal value
.4byte 0xffffffffa
-# CHECK: [[@LINE+1]]:8: error: literal value out of range for directive in '.dword' directive
+# CHECK: :[[#@LINE+1]]:8: error: literal value out of range for directive
.dword 0xffffffffffffffffa
-# CHECK: [[@LINE+1]]:8: error: literal value out of range for directive in '.8byte' directive
+# CHECK: :[[#@LINE+1]]:8: error: literal value out of range for directive
.8byte 0xffffffffffffffffa
More information about the llvm-commits
mailing list