Ensure that ConvertOperandToType generates a result conversion by
authorReid Spencer <rspencer@reidspencer.com>
Thu, 1 Feb 2007 19:14:51 +0000 (19:14 +0000)
committerReid Spencer <rspencer@reidspencer.com>
Thu, 1 Feb 2007 19:14:51 +0000 (19:14 +0000)
initializing the Res variable to 0 and asserting it is not zero after the
result should have been created.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33761 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Transforms/ExprTypeConvert.cpp

index ee5549bad2d2154ea4e359c7ec07d7d3295e37b7..259aa67011cd416e9862d8811bbc1bc5ef1a18e6 100644 (file)
@@ -697,7 +697,7 @@ static void ConvertOperandToType(User *U, Value *OldVal, Value *NewVal,
   assert(BB != 0 && "Instruction not embedded in basic block!");
   std::string Name = I->getName();
   I->setName("");
-  Instruction *Res;     // Result of conversion
+  Instruction *Res = 0;     // Result of conversion
 
   //cerr << endl << endl << "Type:\t" << Ty << "\nInst: " << I
   //     << "BB Before: " << BB << endl;
@@ -917,6 +917,8 @@ static void ConvertOperandToType(User *U, Value *OldVal, Value *NewVal,
     return;
   }
 
+  assert(Res != 0 && "We didn't get a result conversion?");
+
   // If the instruction was newly created, insert it into the instruction
   // stream.
   //