summaryrefslogtreecommitdiffstats
path: root/llvm/lib/MC
diff options
context:
space:
mode:
authorGeorge Rimar <grimar@accesssoftek.com>2017-10-05 08:15:55 +0000
committerGeorge Rimar <grimar@accesssoftek.com>2017-10-05 08:15:55 +0000
commitb074fbcb48ef7e7a7c3500895a911dcbaf94a2ae (patch)
treeec93c10ec5b1c7e12104381f3961dc147d735b7e /llvm/lib/MC
parent6603fc0e7be3e182ec120de8de7f9b4bb5cb905b (diff)
downloadbcm5719-llvm-b074fbcb48ef7e7a7c3500895a911dcbaf94a2ae.tar.gz
bcm5719-llvm-b074fbcb48ef7e7a7c3500895a911dcbaf94a2ae.zip
[MC] - llvm-mc hangs on non-english characters.
Currently llvm-mc just hangs inside infinite loop while trying to parse file which has ".section .с" inside, where section name is non-english character. Patch fixes the issue. In this patch I also moved content of non-english-characters.s to test/MC/AsmParser/Inputs folder so that non-english-characters.s becomes a single testcase for all invalid inputs containing non-english symbols. That is convinent because llvm-mc otherwise tries to parse and tokenize the whole testcase file with tools invocations and it is harder to isolate the issue. Differential revision: https://reviews.llvm.org/D38545 llvm-svn: 314973
Diffstat (limited to 'llvm/lib/MC')
-rw-r--r--llvm/lib/MC/MCParser/ELFAsmParser.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/llvm/lib/MC/MCParser/ELFAsmParser.cpp b/llvm/lib/MC/MCParser/ELFAsmParser.cpp
index a407691b0bd..8b8e96a4d51 100644
--- a/llvm/lib/MC/MCParser/ELFAsmParser.cpp
+++ b/llvm/lib/MC/MCParser/ELFAsmParser.cpp
@@ -247,7 +247,7 @@ bool ELFAsmParser::ParseSectionName(StringRef &SectionName) {
return false;
}
- while (true) {
+ while (!getParser().hasPendingError()) {
SMLoc PrevLoc = getLexer().getLoc();
if (getLexer().is(AsmToken::Comma) ||
getLexer().is(AsmToken::EndOfStatement))
OpenPOWER on IntegriCloud