From: Eric Christopher Date: Mon, 20 Feb 2012 18:04:14 +0000 (+0000) Subject: Add support for runtime languages on our forward declarations. X-Git-Url: http://plrg.eecs.uci.edu/git/?a=commitdiff_plain;h=9f90e8760fda131db8311f976c6bbeb66abbaa05;p=oota-llvm.git Add support for runtime languages on our forward declarations. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@150973 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/include/llvm/Analysis/DIBuilder.h b/include/llvm/Analysis/DIBuilder.h index 3785fa8c38f..5190f0a8319 100644 --- a/include/llvm/Analysis/DIBuilder.h +++ b/include/llvm/Analysis/DIBuilder.h @@ -343,7 +343,7 @@ namespace llvm { /// createForwardDecl - Create a temporary forward-declared type. DIType createForwardDecl(unsigned Tag, StringRef Name, DIFile F, - unsigned Line); + unsigned Line, unsigned RuntimeLang = 0); /// retainType - Retain DIType in a module even if it is not referenced /// through debug info anchors. diff --git a/lib/Analysis/DIBuilder.cpp b/lib/Analysis/DIBuilder.cpp index 9dd99b62c2f..f0bdc48cf3c 100644 --- a/lib/Analysis/DIBuilder.cpp +++ b/lib/Analysis/DIBuilder.cpp @@ -672,7 +672,7 @@ DIType DIBuilder::createTemporaryType(DIFile F) { /// createForwardDecl - Create a temporary forward-declared type that /// can be RAUW'd if the full type is seen. DIType DIBuilder::createForwardDecl(unsigned Tag, StringRef Name, DIFile F, - unsigned Line) { + unsigned Line, unsigned RuntimeLang) { // Create a temporary MDNode. Value *Elts[] = { GetTagConstant(VMContext, Tag), @@ -685,7 +685,10 @@ DIType DIBuilder::createForwardDecl(unsigned Tag, StringRef Name, DIFile F, ConstantInt::get(Type::getInt32Ty(VMContext), 0), ConstantInt::get(Type::getInt32Ty(VMContext), 0), ConstantInt::get(Type::getInt32Ty(VMContext), - DIDescriptor::FlagFwdDecl) + DIDescriptor::FlagFwdDecl), + NULL, + DIArray(), + ConstantInt::get(Type::getInt32Ty(VMContext), RuntimeLang) }; MDNode *Node = MDNode::getTemporary(VMContext, Elts); return DIType(Node);