diff options
author | Petr Hosek <phosek@chromium.org> | 2016-05-28 08:20:08 +0000 |
---|---|---|
committer | Petr Hosek <phosek@chromium.org> | 2016-05-28 08:20:08 +0000 |
commit | 6abd38bf6efc809654fcdf6c98d4378fcc4a040b (patch) | |
tree | 5b88db0f4284dd7f6b58bb73c946063e7584a7cf /llvm/lib/MC | |
parent | 91b77ceaed0401cbfae82a0628ff46a501097a5b (diff) | |
download | bcm5719-llvm-6abd38bf6efc809654fcdf6c98d4378fcc4a040b.tar.gz bcm5719-llvm-6abd38bf6efc809654fcdf6c98d4378fcc4a040b.zip |
[MC] Return early when .fill size is negative
Rather than invoking emitFill with negative size, which may trigger
an undefined behavior, return immediately after emitting the warning.
Differential Revision: http://reviews.llvm.org/D20768
llvm-svn: 271107
Diffstat (limited to 'llvm/lib/MC')
-rw-r--r-- | llvm/lib/MC/MCParser/AsmParser.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/llvm/lib/MC/MCParser/AsmParser.cpp b/llvm/lib/MC/MCParser/AsmParser.cpp index dcc02a9ab8c..5262558df1a 100644 --- a/llvm/lib/MC/MCParser/AsmParser.cpp +++ b/llvm/lib/MC/MCParser/AsmParser.cpp @@ -2801,7 +2801,7 @@ bool AsmParser::parseDirectiveFill() { if (FillSize < 0) { Warning(SizeLoc, "'.fill' directive with negative size has no effect"); - NumValues = MCConstantExpr::create(0, getStreamer().getContext()); + return false; } if (FillSize > 8) { Warning(SizeLoc, "'.fill' directive with size greater than 8 has been truncated to 8"); |