mirror of
https://github.com/RPCS3/llvm.git
synced 2024-12-18 09:27:27 +00:00
Change the parsing of .loc back to allow the LineNumber field to be optional as
it is with other assemblers. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111967 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
82c84fdd23
commit
6d8f1a9a18
@ -1838,7 +1838,7 @@ bool GenericAsmParser::ParseDirectiveLine(StringRef, SMLoc DirectiveLoc) {
|
|||||||
|
|
||||||
|
|
||||||
/// ParseDirectiveLoc
|
/// ParseDirectiveLoc
|
||||||
/// ::= .loc FileNumber LineNumber [ColumnPos] [basic_block] [prologue_end]
|
/// ::= .loc FileNumber [LineNumber] [ColumnPos] [basic_block] [prologue_end]
|
||||||
/// [epilogue_begin] [is_stmt VALUE] [isa VALUE]
|
/// [epilogue_begin] [is_stmt VALUE] [isa VALUE]
|
||||||
/// The first number is a file number, must have been previously assigned with
|
/// The first number is a file number, must have been previously assigned with
|
||||||
/// a .file directive, the second number is the line number and optionally the
|
/// a .file directive, the second number is the line number and optionally the
|
||||||
@ -1855,12 +1855,13 @@ bool GenericAsmParser::ParseDirectiveLoc(StringRef, SMLoc DirectiveLoc) {
|
|||||||
return TokError("unassigned file number in '.loc' directive");
|
return TokError("unassigned file number in '.loc' directive");
|
||||||
Lex();
|
Lex();
|
||||||
|
|
||||||
if (getLexer().isNot(AsmToken::Integer))
|
int64_t LineNumber = 0;
|
||||||
return TokError("unexpected token in '.loc' directive");
|
if (getLexer().is(AsmToken::Integer)) {
|
||||||
int64_t LineNumber = getTok().getIntVal();
|
LineNumber = getTok().getIntVal();
|
||||||
if (LineNumber < 1)
|
if (LineNumber < 1)
|
||||||
return TokError("line number less than one in '.loc' directive");
|
return TokError("line number less than one in '.loc' directive");
|
||||||
Lex();
|
Lex();
|
||||||
|
}
|
||||||
|
|
||||||
int64_t ColumnPos = 0;
|
int64_t ColumnPos = 0;
|
||||||
if (getLexer().is(AsmToken::Integer)) {
|
if (getLexer().is(AsmToken::Integer)) {
|
||||||
|
Loading…
Reference in New Issue
Block a user