[llvm] r271107 - [MC] Return early when .fill size is negative

Petr Hosek via llvm-commits llvm-commits at lists.llvm.org
Sat May 28 01:20:08 PDT 2016


Author: phosek
Date: Sat May 28 03:20:08 2016
New Revision: 271107

URL: http://llvm.org/viewvc/llvm-project?rev=271107&view=rev
Log:
[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

Modified:
    llvm/trunk/lib/MC/MCParser/AsmParser.cpp

Modified: llvm/trunk/lib/MC/MCParser/AsmParser.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/MC/MCParser/AsmParser.cpp?rev=271107&r1=271106&r2=271107&view=diff
==============================================================================
--- llvm/trunk/lib/MC/MCParser/AsmParser.cpp (original)
+++ llvm/trunk/lib/MC/MCParser/AsmParser.cpp Sat May 28 03:20:08 2016
@@ -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");




More information about the llvm-commits mailing list