[PATCH] D151652: [ms-inline asm] Add error check for `getAsInteger`
Phoebe Wang via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Mon May 29 07:50:23 PDT 2023
pengfei created this revision.
pengfei added reviewers: mcrosier, LuoYuanke, skan.
Herald added a subscriber: hiraditya.
Herald added a project: All.
pengfei requested review of this revision.
Herald added a project: LLVM.
Herald added a subscriber: llvm-commits.
.Imm can get lexed as a real, but a real doesn't equal to .Imm, e.g.,
2.5 or .123e+8. We should report error for it rather than silently ignore.
Repository:
rG LLVM Github Monorepo
https://reviews.llvm.org/D151652
Files:
llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
Index: llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
===================================================================
--- llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
+++ llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
@@ -2315,7 +2315,8 @@
// .Imm gets lexed as a real.
if (Tok.is(AsmToken::Real)) {
APInt DotDisp;
- DotDispStr.getAsInteger(10, DotDisp);
+ if (DotDispStr.getAsInteger(10, DotDisp))
+ return Error(Tok.getLoc(), "Unexpected offset");
Info.Offset = DotDisp.getZExtValue();
} else if ((isParsingMSInlineAsm() || getParser().isParsingMasm()) &&
Tok.is(AsmToken::Identifier)) {
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D151652.526442.patch
Type: text/x-patch
Size: 640 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20230529/bed14acc/attachment.bin>
More information about the llvm-commits
mailing list