diff --git a/lib/VMCore/DebugInfo.cpp b/lib/VMCore/DebugInfo.cpp index 5eea2ce9e0a..a4fd705e30c 100644 --- a/lib/VMCore/DebugInfo.cpp +++ b/lib/VMCore/DebugInfo.cpp @@ -659,8 +659,9 @@ DIArray DICompileUnit::getSubprograms() const { return DIArray(); if (MDNode *N = dyn_cast_or_null(DbgNode->getOperand(12))) - if (MDNode *A = dyn_cast_or_null(N->getOperand(0))) - return DIArray(A); + if (N->getNumOperands() > 0) + if (MDNode *A = dyn_cast_or_null(N->getOperand(0))) + return DIArray(A); return DIArray(); }