diff options
author | Craig Topper <craig.topper@intel.com> | 2019-03-26 03:12:41 +0000 |
---|---|---|
committer | Craig Topper <craig.topper@intel.com> | 2019-03-26 03:12:41 +0000 |
commit | 3dce29b8e9002d1295918fd56de8b263f89c2f5e (patch) | |
tree | dfffc6fe07f6f66722501139fe70b8b2e3fe3030 /llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp | |
parent | 282890d7112a7c0aa03e5be0a7a33b8ef04f1d67 (diff) | |
download | bcm5719-llvm-3dce29b8e9002d1295918fd56de8b263f89c2f5e.tar.gz bcm5719-llvm-3dce29b8e9002d1295918fd56de8b263f89c2f5e.zip |
X86AsmParser: Do not process a non-existent token
This error can only happen if an unfinished operation is at Eof.
Patch by Brandon Jones
Differential Revision: https://reviews.llvm.org/D57379
llvm-svn: 356972
Diffstat (limited to 'llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp')
-rw-r--r-- | llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp b/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp index 75db48928c9..273edadb061 100644 --- a/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp +++ b/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp @@ -2992,6 +2992,11 @@ bool X86AsmParser::MatchAndEmitATTInstruction(SMLoc IDLoc, unsigned &Opcode, case Match_MnemonicFail: break; } + if (Op.getToken().empty()) { + Error(IDLoc, "instruction must have size higher than 0", EmptyRange, + MatchingInlineAsm); + return true; + } // FIXME: Ideally, we would only attempt suffix matches for things which are // valid prefixes, and we could just infer the right unambiguous |