summaryrefslogtreecommitdiffstats
path: root/llvm/lib/MC/MCParser/AsmParser.cpp
diff options
context:
space:
mode:
authorNirav Dave <niravd@google.com>2016-07-13 14:03:12 +0000
committerNirav Dave <niravd@google.com>2016-07-13 14:03:12 +0000
commit8ea792db60e5899de69d6d9be85ea07b083b5049 (patch)
tree7039d937e025623d5f993e90f5420941e5def905 /llvm/lib/MC/MCParser/AsmParser.cpp
parent2931b2128612af82e9c5c2a3fcd7ba5dea2eeb1b (diff)
downloadbcm5719-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.cpp14
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;
}
OpenPOWER on IntegriCloud