diff options
author | Augusto Noronha <augusto2112@me.com> | 2023-11-15 12:46:06 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-11-15 12:46:06 -0800 |
commit | d0ae2391897033c50225a20fd3024816dffd80b6 (patch) | |
tree | b8f744cb18fe4928e712c89f748df7c6620b5a67 /llvm/lib/IR/DIBuilder.cpp | |
parent | c05ab7b8507a33d5e069ebbe10a5c607995c9c11 (diff) | |
download | llvm-d0ae2391897033c50225a20fd3024816dffd80b6.zip llvm-d0ae2391897033c50225a20fd3024816dffd80b6.tar.gz llvm-d0ae2391897033c50225a20fd3024816dffd80b6.tar.bz2 |
Add RunTimeLang to Class and Enumeration DIBuilder functions (#72011)
RunTimeLang is already supported by DICompositeType, and already used by
structs and unions. Add a new parameter in the class and enumeration
create methods, so they can use the RunTimeLang attribute as well.
Diffstat (limited to 'llvm/lib/IR/DIBuilder.cpp')
-rw-r--r-- | llvm/lib/IR/DIBuilder.cpp | 19 |
1 files changed, 11 insertions, 8 deletions
diff --git a/llvm/lib/IR/DIBuilder.cpp b/llvm/lib/IR/DIBuilder.cpp index 58a7e07..0946cf8 100644 --- a/llvm/lib/IR/DIBuilder.cpp +++ b/llvm/lib/IR/DIBuilder.cpp @@ -476,14 +476,15 @@ DICompositeType *DIBuilder::createClassType( DIScope *Context, StringRef Name, DIFile *File, unsigned LineNumber, uint64_t SizeInBits, uint32_t AlignInBits, uint64_t OffsetInBits, DINode::DIFlags Flags, DIType *DerivedFrom, DINodeArray Elements, - DIType *VTableHolder, MDNode *TemplateParams, StringRef UniqueIdentifier) { + unsigned RunTimeLang, DIType *VTableHolder, MDNode *TemplateParams, + StringRef UniqueIdentifier) { assert((!Context || isa<DIScope>(Context)) && "createClassType should be called with a valid Context"); auto *R = DICompositeType::get( VMContext, dwarf::DW_TAG_structure_type, Name, File, LineNumber, getNonCompileUnitScope(Context), DerivedFrom, SizeInBits, AlignInBits, - OffsetInBits, Flags, Elements, 0, VTableHolder, + OffsetInBits, Flags, Elements, RunTimeLang, VTableHolder, cast_or_null<MDTuple>(TemplateParams), UniqueIdentifier); trackIfUnresolved(R); return R; @@ -534,15 +535,17 @@ DISubroutineType *DIBuilder::createSubroutineType(DITypeRefArray ParameterTypes, return DISubroutineType::get(VMContext, Flags, CC, ParameterTypes); } -DICompositeType *DIBuilder::createEnumerationType( - DIScope *Scope, StringRef Name, DIFile *File, unsigned LineNumber, - uint64_t SizeInBits, uint32_t AlignInBits, DINodeArray Elements, - DIType *UnderlyingType, StringRef UniqueIdentifier, bool IsScoped) { +DICompositeType * +DIBuilder::createEnumerationType(DIScope *Scope, StringRef Name, DIFile *File, + unsigned LineNumber, uint64_t SizeInBits, + uint32_t AlignInBits, DINodeArray Elements, + DIType *UnderlyingType, unsigned RunTimeLang, + StringRef UniqueIdentifier, bool IsScoped) { auto *CTy = DICompositeType::get( VMContext, dwarf::DW_TAG_enumeration_type, Name, File, LineNumber, getNonCompileUnitScope(Scope), UnderlyingType, SizeInBits, AlignInBits, 0, - IsScoped ? DINode::FlagEnumClass : DINode::FlagZero, Elements, 0, nullptr, - nullptr, UniqueIdentifier); + IsScoped ? DINode::FlagEnumClass : DINode::FlagZero, Elements, + RunTimeLang, nullptr, nullptr, UniqueIdentifier); AllEnumTypes.emplace_back(CTy); trackIfUnresolved(CTy); return CTy; |