diff options
-rw-r--r-- | include/llvm/Analysis/DebugInfo.h | 3 | ||||
-rw-r--r-- | lib/Analysis/DebugInfo.cpp | 9 |
2 files changed, 7 insertions, 5 deletions
diff --git a/include/llvm/Analysis/DebugInfo.h b/include/llvm/Analysis/DebugInfo.h index 0fcc6e4..625ca8a 100644 --- a/include/llvm/Analysis/DebugInfo.h +++ b/include/llvm/Analysis/DebugInfo.h @@ -668,7 +668,8 @@ namespace llvm { unsigned Flags, DIType DerivedFrom, DIArray Elements, - unsigned RunTimeLang = 0); + unsigned RunTimeLang = 0, + MDNode *ContainingType = 0); /// CreateSubprogram - Create a new descriptor for the specified subprogram. /// See comments in DISubprogram for descriptions of these fields. diff --git a/lib/Analysis/DebugInfo.cpp b/lib/Analysis/DebugInfo.cpp index 2bf87da..cf2c277 100644 --- a/lib/Analysis/DebugInfo.cpp +++ b/lib/Analysis/DebugInfo.cpp @@ -946,8 +946,8 @@ DICompositeType DIFactory::CreateCompositeTypeEx(unsigned Tag, unsigned Flags, DIType DerivedFrom, DIArray Elements, - unsigned RuntimeLang) { - + unsigned RuntimeLang, + MDNode *ContainingType) { Value *Elts[] = { GetTagConstant(Tag), Context, @@ -960,9 +960,10 @@ DICompositeType DIFactory::CreateCompositeTypeEx(unsigned Tag, ConstantInt::get(Type::getInt32Ty(VMContext), Flags), DerivedFrom, Elements, - ConstantInt::get(Type::getInt32Ty(VMContext), RuntimeLang) + ConstantInt::get(Type::getInt32Ty(VMContext), RuntimeLang), + ContainingType }; - MDNode *Node = MDNode::get(VMContext, &Elts[0], 12); + MDNode *Node = MDNode::get(VMContext, &Elts[0], 13); // Create a named metadata so that we do not lose this enum info. if (Tag == dwarf::DW_TAG_enumeration_type) { NamedMDNode *NMD = M.getOrInsertNamedMetadata("llvm.dbg.enum"); |