From: Adrian Prantl Date: Thu, 26 Sep 2013 23:37:11 +0000 (+0000) Subject: MCParser/Debug info: Accept line number 0 as a legitimate value, since X-Git-Url: http://plrg.eecs.uci.edu/git/?a=commitdiff_plain;h=deac137da710cd8566b857ee9d1e182d4fd35932;p=oota-llvm.git 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 --- diff --git a/lib/MC/MCParser/AsmParser.cpp b/lib/MC/MCParser/AsmParser.cpp index e36850beb82..9854b07a6c4 100644 --- a/lib/MC/MCParser/AsmParser.cpp +++ b/lib/MC/MCParser/AsmParser.cpp @@ -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(); } diff --git a/test/MC/AsmParser/directive_loc.s b/test/MC/AsmParser/directive_loc.s index 164d42a3fa7..700a32ca389 100644 --- a/test/MC/AsmParser/directive_loc.s +++ b/test/MC/AsmParser/directive_loc.s @@ -6,3 +6,4 @@ .loc 1 2 .loc 1 2 3 .loc 1 2 discriminator 1 + .loc 1 0