diff options
author | Nirav Dave <niravd@google.com> | 2016-07-13 14:03:12 +0000 |
---|---|---|
committer | Nirav Dave <niravd@google.com> | 2016-07-13 14:03:12 +0000 |
commit | 8ea792db60e5899de69d6d9be85ea07b083b5049 (patch) | |
tree | 7039d937e025623d5f993e90f5420941e5def905 /llvm/lib/MC/MCParser/AsmParser.cpp | |
parent | 2931b2128612af82e9c5c2a3fcd7ba5dea2eeb1b (diff) | |
download | bcm5719-llvm-8ea792db60e5899de69d6d9be85ea07b083b5049.tar.gz bcm5719-llvm-8ea792db60e5899de69d6d9be85ea07b083b5049.zip |
[MC] Fix lexing ordering in assembly label parsing to preserve same line
comment placement.
llvm-svn: 275265
Diffstat (limited to 'llvm/lib/MC/MCParser/AsmParser.cpp')
-rw-r--r-- | llvm/lib/MC/MCParser/AsmParser.cpp | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/llvm/lib/MC/MCParser/AsmParser.cpp b/llvm/lib/MC/MCParser/AsmParser.cpp index d16f2452e13..4865807045d 100644 --- a/llvm/lib/MC/MCParser/AsmParser.cpp +++ b/llvm/lib/MC/MCParser/AsmParser.cpp @@ -1501,6 +1501,12 @@ bool AsmParser::parseStatement(ParseStatementInfo &Info, if (!Sym->isUndefined() || Sym->isVariable()) return Error(IDLoc, "invalid symbol redefinition"); + // Consume any end of statement token, if present, to avoid spurious + // AddBlankLine calls(). + if (getTok().is(AsmToken::EndOfStatement)) { + Lex(); + } + // Emit the label. if (!ParsingInlineAsm) Out.EmitLabel(Sym); @@ -1513,13 +1519,7 @@ bool AsmParser::parseStatement(ParseStatementInfo &Info, getTargetParser().onLabelParsed(Sym); - // Consume any end of statement token, if present, to avoid spurious - // AddBlankLine calls(). - if (Lexer.is(AsmToken::EndOfStatement)) { - Lex(); - if (Lexer.is(AsmToken::Eof)) - return false; - } + return false; } |