diff options
| author | Craig Topper <craig.topper@intel.com> | 2019-02-19 17:13:40 +0000 |
|---|---|---|
| committer | Craig Topper <craig.topper@intel.com> | 2019-02-19 17:13:40 +0000 |
| commit | d8acfe69f0a754fac838df384823d2d4ebd7cc79 (patch) | |
| tree | c6b001045381661640f78ccd5cad7d9b90cf903d /llvm/lib/Target | |
| parent | 236e1ce1d920204661fd73ef8960738108852647 (diff) | |
| download | bcm5719-llvm-d8acfe69f0a754fac838df384823d2d4ebd7cc79.tar.gz bcm5719-llvm-d8acfe69f0a754fac838df384823d2d4ebd7cc79.zip | |
X86AsmParser AVX-512: Return error instead of hitting assert
When parsing a sequence of tokens beginning with {, it will hit an assert and crash if the token afterwards is not an identifier. Instead of this, return a more verbose error as seen elsewhere in the function.
Patch by Brandon Jones (BrandonTJones)
Differential Revision: https://reviews.llvm.org/D57375
llvm-svn: 354356
Diffstat (limited to 'llvm/lib/Target')
| -rw-r--r-- | llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp b/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp index 44173d9b2b3..cb5712ccd86 100644 --- a/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp +++ b/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp @@ -1654,6 +1654,8 @@ X86AsmParser::ParseRoundingModeOp(SMLoc Start) { const AsmToken &Tok = Parser.getTok(); // Eat "{" and mark the current place. const SMLoc consumedToken = consumeToken(); + if (Tok.isNot(AsmToken::Identifier)) + return ErrorOperand(Tok.getLoc(), "Expected an identifier after {"); if (Tok.getIdentifier().startswith("r")){ int rndMode = StringSwitch<int>(Tok.getIdentifier()) .Case("rn", X86::STATIC_ROUNDING::TO_NEAREST_INT) |

