diff options
author | Tim Northover <tnorthover@apple.com> | 2014-05-06 12:50:51 +0000 |
---|---|---|
committer | Tim Northover <tnorthover@apple.com> | 2014-05-06 12:50:51 +0000 |
commit | 15641cd4e1f90a8de9a6c42f5de0ccc858e16cd6 (patch) | |
tree | 7bd6b9e4448fbd7e9b2e064e5598d07c15293780 /llvm/lib | |
parent | 339ecf14ee9268e0b3038649f2c9e691d2fa9120 (diff) | |
download | bcm5719-llvm-15641cd4e1f90a8de9a6c42f5de0ccc858e16cd6.tar.gz bcm5719-llvm-15641cd4e1f90a8de9a6c42f5de0ccc858e16cd6.zip |
AArch64/ARM64: make NEON vector list parsing a bit more robust
It doesn't change the results, but it seems silly not to diagnose obvious
problems early on.
llvm-svn: 208083
Diffstat (limited to 'llvm/lib')
-rw-r--r-- | llvm/lib/Target/ARM64/AsmParser/ARM64AsmParser.cpp | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/llvm/lib/Target/ARM64/AsmParser/ARM64AsmParser.cpp b/llvm/lib/Target/ARM64/AsmParser/ARM64AsmParser.cpp index 9ba1b73986b..c5fb364a61a 100644 --- a/llvm/lib/Target/ARM64/AsmParser/ARM64AsmParser.cpp +++ b/llvm/lib/Target/ARM64/AsmParser/ARM64AsmParser.cpp @@ -3131,10 +3131,13 @@ bool ARM64AsmParser::parseVectorList(OperandVector &Operands) { } } - if (Parser.getTok().is(AsmToken::EndOfStatement)) - Error(getLoc(), "'}' expected"); + if (Parser.getTok().isNot(AsmToken::RCurly)) + return Error(getLoc(), "'}' expected"); Parser.Lex(); // Eat the '}' token. + if (Count > 4) + return Error(S, "invalid number of vectors"); + unsigned NumElements = 0; char ElementKind = 0; if (!Kind.empty()) |