MCParser/Debug info: Accept line number 0 as a legitimate value, since

CFE produces it to indicate artificial locations.
c.f.: DWARF standard, Table 6.2:
line -- An unsigned integer indicating a source line number. Lines are numbered beginning at 1. The compiler may emit the value 0 in cases where an instruction cannot be attributed to any source line.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@191471 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Adrian Prantl 2013-09-26 23:37:11 +00:00
parent 1327c08922
commit deac137da7
2 changed files with 3 additions and 2 deletions

View File

@ -2634,8 +2634,8 @@ bool AsmParser::parseDirectiveLoc() {
int64_t LineNumber = 0;
if (getLexer().is(AsmToken::Integer)) {
LineNumber = getTok().getIntVal();
if (LineNumber < 1)
return TokError("line number less than one in '.loc' directive");
if (LineNumber < 0)
return TokError("line number less than zero in '.loc' directive");
Lex();
}

View File

@ -6,3 +6,4 @@
.loc 1 2
.loc 1 2 3
.loc 1 2 discriminator 1
.loc 1 0