[llvm] r363166 - [ARM] Fix compiler warning

Mikael Holmen via llvm-commits llvm-commits at lists.llvm.org
Wed Jun 12 07:19:22 PDT 2019


Author: uabelho
Date: Wed Jun 12 07:19:22 2019
New Revision: 363166

URL: http://llvm.org/viewvc/llvm-project?rev=363166&view=rev
Log:
[ARM] Fix compiler warning

Without this fix clang 3.6 complains with:

../lib/Target/ARM/ARMAsmPrinter.cpp:1473:18: error: variable 'BranchTarget' is used uninitialized whenever 'if' condition is false [-Werror,-Wsometimes-uninitialized]
      } else if (MI->getOperand(1).isSymbol()) {
                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
../lib/Target/ARM/ARMAsmPrinter.cpp:1479:22: note: uninitialized use occurs here
      MCInst.addExpr(BranchTarget);
                     ^~~~~~~~~~~~
../lib/Target/ARM/ARMAsmPrinter.cpp:1473:14: note: remove the 'if' if its condition is always true
      } else if (MI->getOperand(1).isSymbol()) {
             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../lib/Target/ARM/ARMAsmPrinter.cpp:1465:33: note: initialize the variable 'BranchTarget' to silence this warning
      const MCExpr *BranchTarget;
                                ^
                                 = nullptr
1 error generated.

Discussed here:
 http://lists.llvm.org/pipermail/llvm-commits/Week-of-Mon-20190610/661417.html

Modified:
    llvm/trunk/lib/Target/ARM/ARMAsmPrinter.cpp

Modified: llvm/trunk/lib/Target/ARM/ARMAsmPrinter.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/ARM/ARMAsmPrinter.cpp?rev=363166&r1=363165&r2=363166&view=diff
==============================================================================
--- llvm/trunk/lib/Target/ARM/ARMAsmPrinter.cpp (original)
+++ llvm/trunk/lib/Target/ARM/ARMAsmPrinter.cpp Wed Jun 12 07:19:22 2019
@@ -1474,7 +1474,8 @@ void ARMAsmPrinter::EmitInstruction(cons
         BranchTarget = MCSymbolRefExpr::create(
             GetExternalSymbolSymbol(MI->getOperand(1).getSymbolName()),
             OutContext);
-      }
+      } else
+        llvm_unreachable("Unhandled operand kind in Branch Future instruction");
 
       MCInst.addExpr(BranchTarget);
     }




More information about the llvm-commits mailing list