diff options
author | Benjamin Kramer <benny.kra@googlemail.com> | 2010-09-21 16:00:03 +0000 |
---|---|---|
committer | Benjamin Kramer <benny.kra@googlemail.com> | 2010-09-21 16:00:03 +0000 |
commit | 4021d906f1e8b4bbd9af95f3cc10fa81d6179bac (patch) | |
tree | 430f548956a42fd7f11c172706fde25d6d465c00 /llvm/lib/Analysis | |
parent | 3e0c527dcc406bd68dae3902bb7c81d096a58d0c (diff) | |
download | bcm5719-llvm-4021d906f1e8b4bbd9af95f3cc10fa81d6179bac.tar.gz bcm5719-llvm-4021d906f1e8b4bbd9af95f3cc10fa81d6179bac.zip |
Make CreateComplexVariable independent of SmallVector.
llvm-svn: 114439
Diffstat (limited to 'llvm/lib/Analysis')
-rw-r--r-- | llvm/lib/Analysis/DebugInfo.cpp | 13 |
1 files changed, 6 insertions, 7 deletions
diff --git a/llvm/lib/Analysis/DebugInfo.cpp b/llvm/lib/Analysis/DebugInfo.cpp index 5ca89c658df..53189b8fdfe 100644 --- a/llvm/lib/Analysis/DebugInfo.cpp +++ b/llvm/lib/Analysis/DebugInfo.cpp @@ -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())); } |