[llvm] r208083 - AArch64/ARM64: make NEON vector list parsing a bit more robust
Tim Northover
tnorthover at apple.com
Tue May 6 05:50:51 PDT 2014
Author: tnorthover
Date: Tue May 6 07:50:51 2014
New Revision: 208083
URL: http://llvm.org/viewvc/llvm-project?rev=208083&view=rev
Log:
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.
Modified:
llvm/trunk/lib/Target/ARM64/AsmParser/ARM64AsmParser.cpp
llvm/trunk/test/MC/ARM64/vector-lists.s
Modified: llvm/trunk/lib/Target/ARM64/AsmParser/ARM64AsmParser.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/ARM64/AsmParser/ARM64AsmParser.cpp?rev=208083&r1=208082&r2=208083&view=diff
==============================================================================
--- llvm/trunk/lib/Target/ARM64/AsmParser/ARM64AsmParser.cpp (original)
+++ llvm/trunk/lib/Target/ARM64/AsmParser/ARM64AsmParser.cpp Tue May 6 07:50:51 2014
@@ -3131,10 +3131,13 @@ bool ARM64AsmParser::parseVectorList(Ope
}
}
- 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())
Modified: llvm/trunk/test/MC/ARM64/vector-lists.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/MC/ARM64/vector-lists.s?rev=208083&r1=208082&r2=208083&view=diff
==============================================================================
--- llvm/trunk/test/MC/ARM64/vector-lists.s (original)
+++ llvm/trunk/test/MC/ARM64/vector-lists.s Tue May 6 07:50:51 2014
@@ -14,7 +14,7 @@
ST4 {v0.8B-},[x0]
// CHECK-ERRORS: error: invalid number of vectors
-// CHECK-ERRORS: error: unexpected token in argument list
+// CHECK-ERRORS: error: '}' expected
// CHECK-ERRORS: error: mismatched register size suffix
// CHECK-ERRORS: error: mismatched register size suffix
// CHECK-ERRORS: error: vector register expected
More information about the llvm-commits
mailing list