Make CreateComplexVariable independent of SmallVector.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114439 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Benjamin Kramer
2010-09-21 16:00:03 +00:00
parent f165806655
commit 28b4afc103
2 changed files with 9 additions and 11 deletions
+6 -7
View File
@@ -1181,21 +1181,20 @@ DIVariable DIFactory::CreateVariable(unsigned Tag, DIDescriptor Context,
/// CreateComplexVariable - Create a new descriptor for the specified variable
/// which has a complex address expression for its address.
DIVariable DIFactory::CreateComplexVariable(unsigned Tag, DIDescriptor Context,
const std::string &Name,
DIFile F,
StringRef Name, DIFile F,
unsigned LineNo,
DIType Ty,
SmallVector<Value *, 9> &addr) {
SmallVector<Value *, 9> Elts;
DIType Ty, Value *const *Addr,
unsigned NumAddr) {
SmallVector<Value *, 15> Elts;
Elts.push_back(GetTagConstant(Tag));
Elts.push_back(Context);
Elts.push_back(MDString::get(VMContext, Name));
Elts.push_back(F);
Elts.push_back(ConstantInt::get(Type::getInt32Ty(VMContext), LineNo));
Elts.push_back(Ty);
Elts.insert(Elts.end(), addr.begin(), addr.end());
Elts.append(Addr, Addr+NumAddr);
return DIVariable(MDNode::get(VMContext, &Elts[0], 6+addr.size()));
return DIVariable(MDNode::get(VMContext, Elts.data(), Elts.size()));
}