diff --git a/lib/VMCore/Metadata.cpp b/lib/VMCore/Metadata.cpp index b4a981f3a02..acc3b8ee5ef 100644 --- a/lib/VMCore/Metadata.cpp +++ b/lib/VMCore/Metadata.cpp @@ -122,6 +122,7 @@ MDNode::~MDNode() { } static const Function *getFunctionForValue(Value *V) { + assert(!isa(V) && "does not iterate over metadata operands"); if (!V) return NULL; if (Instruction *I = dyn_cast(V)) return I->getParent()->getParent(); @@ -161,7 +162,8 @@ const Function *MDNode::getFunction() const { if (Value *V = getOperand(i)) { if (MDNode *MD = dyn_cast(V)) { if (const Function *F = MD->getFunction()) return F; - else return getFunctionForValue(V); + } else { + return getFunctionForValue(V); } } }