diff options
Diffstat (limited to 'llvm/lib/Analysis/DebugInfo.cpp')
| -rw-r--r-- | llvm/lib/Analysis/DebugInfo.cpp | 14 | 
1 files changed, 6 insertions, 8 deletions
diff --git a/llvm/lib/Analysis/DebugInfo.cpp b/llvm/lib/Analysis/DebugInfo.cpp index 53189b8..fec269e 100644 --- a/llvm/lib/Analysis/DebugInfo.cpp +++ b/llvm/lib/Analysis/DebugInfo.cpp @@ -701,15 +701,13 @@ Constant *DIFactory::GetTagConstant(unsigned TAG) {  /// GetOrCreateArray - Create an descriptor for an array of descriptors.  /// This implicitly uniques the arrays created.  DIArray DIFactory::GetOrCreateArray(DIDescriptor *Tys, unsigned NumTys) { -  SmallVector<Value*, 16> Elts; - -  if (NumTys == 0) -    Elts.push_back(llvm::Constant::getNullValue(Type::getInt32Ty(VMContext))); -  else -    for (unsigned i = 0; i != NumTys; ++i) -      Elts.push_back(Tys[i]); +  if (NumTys == 0) { +    Value *Null = llvm::Constant::getNullValue(Type::getInt32Ty(VMContext)); +    return DIArray(MDNode::get(VMContext, &Null, 1)); +  } -  return DIArray(MDNode::get(VMContext,Elts.data(), Elts.size())); +  SmallVector<Value *, 16> Elts(Tys, Tys+NumTys); +  return DIArray(MDNode::get(VMContext, Elts.data(), Elts.size()));  }  /// GetOrCreateSubrange - Create a descriptor for a value range.  This  | 
