summaryrefslogtreecommitdiffstats
path: root/llvm/lib/MC
diff options
context:
space:
mode:
authorPetr Hosek <phosek@chromium.org>2016-05-28 08:20:08 +0000
committerPetr Hosek <phosek@chromium.org>2016-05-28 08:20:08 +0000
commit6abd38bf6efc809654fcdf6c98d4378fcc4a040b (patch)
tree5b88db0f4284dd7f6b58bb73c946063e7584a7cf /llvm/lib/MC
parent91b77ceaed0401cbfae82a0628ff46a501097a5b (diff)
downloadbcm5719-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.cpp2
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");
OpenPOWER on IntegriCloud