@@ -295,12 +295,11 @@ namespace llvm {
295295 // / \param DWARFMemorySpace DWARF memory space. (optional)
296296 // / \param Name Pointer type name. (optional)
297297 // / \param Annotations Member annotations.
298- LLVM_ABI DIDerivedType *
299- createPointerType (DIType *PointeeTy, uint64_t SizeInBits,
300- uint32_t AlignInBits = 0 ,
301- std::optional<unsigned > DWARFAddressSpace = std::nullopt ,
302- dwarf::MemorySpace DWARFMemorySpace = dwarf::DW_MSPACE_LLVM_none,
303- StringRef Name = " " , DINodeArray Annotations = nullptr );
298+ LLVM_ABI DIDerivedType *createPointerType (
299+ DIType *PointeeTy, uint64_t SizeInBits, uint32_t AlignInBits = 0 ,
300+ std::optional<unsigned > DWARFAddressSpace = std::nullopt ,
301+ dwarf::MemorySpace DWARFMemorySpace = dwarf::DW_MSPACE_LLVM_none,
302+ StringRef Name = " " , DINodeArray Annotations = nullptr );
304303
305304 // / Create a __ptrauth qualifier.
306305 LLVM_ABI DIDerivedType *
@@ -376,6 +375,22 @@ namespace llvm {
376375 uint32_t VBPtrOffset,
377376 DINode::DIFlags Flags);
378377
378+ // / Create debugging information entry for a member.
379+ // / \param Scope Member scope.
380+ // / \param Name Member name.
381+ // / \param File File where this member is defined.
382+ // / \param LineNo Line number.
383+ // / \param SizeInBits Member size.
384+ // / \param AlignInBits Member alignment.
385+ // / \param OffsetInBits Member offset.
386+ // / \param Flags Flags to encode member attribute, e.g. private
387+ // / \param Ty Parent type.
388+ // / \param Annotations Member annotations.
389+ LLVM_ABI DIDerivedType *createMemberType (
390+ DIScope *Scope, StringRef Name, DIFile *File, unsigned LineNo,
391+ Metadata *SizeInBits, uint32_t AlignInBits, Metadata *OffsetInBits,
392+ DINode::DIFlags Flags, DIType *Ty, DINodeArray Annotations = nullptr );
393+
379394 // / Create debugging information entry for a member.
380395 // / \param Scope Member scope.
381396 // / \param Name Member name.
@@ -428,6 +443,23 @@ namespace llvm {
428443 Constant *Discriminant,
429444 DIType *Ty);
430445
446+ // / Create debugging information entry for a bit field member.
447+ // / \param Scope Member scope.
448+ // / \param Name Member name.
449+ // / \param File File where this member is defined.
450+ // / \param LineNo Line number.
451+ // / \param SizeInBits Member size.
452+ // / \param OffsetInBits Member offset.
453+ // / \param StorageOffsetInBits Member storage offset.
454+ // / \param Flags Flags to encode member attribute.
455+ // / \param Ty Parent type.
456+ // / \param Annotations Member annotations.
457+ LLVM_ABI DIDerivedType *createBitFieldMemberType (
458+ DIScope *Scope, StringRef Name, DIFile *File, unsigned LineNo,
459+ Metadata *SizeInBits, Metadata *OffsetInBits,
460+ uint64_t StorageOffsetInBits, DINode::DIFlags Flags, DIType *Ty,
461+ DINodeArray Annotations = nullptr );
462+
431463 // / Create debugging information entry for a bit field member.
432464 // / \param Scope Member scope.
433465 // / \param Name Member name.
@@ -519,6 +551,29 @@ namespace llvm {
519551 unsigned RunTimeLang = 0 , DIType *VTableHolder = nullptr ,
520552 MDNode *TemplateParms = nullptr , StringRef UniqueIdentifier = " " );
521553
554+ // / Create debugging information entry for a struct.
555+ // / \param Scope Scope in which this struct is defined.
556+ // / \param Name Struct name.
557+ // / \param File File where this member is defined.
558+ // / \param LineNumber Line number.
559+ // / \param SizeInBits Member size.
560+ // / \param AlignInBits Member alignment.
561+ // / \param Flags Flags to encode member attribute, e.g. private
562+ // / \param Elements Struct elements.
563+ // / \param RunTimeLang Optional parameter, Objective-C runtime version.
564+ // / \param UniqueIdentifier A unique identifier for the struct.
565+ // / \param Specification The type that this type completes. This is used by
566+ // / Swift to represent generic types.
567+ // / \param NumExtraInhabitants The number of extra inhabitants of the type.
568+ // / An extra inhabitant is a bit pattern that does not represent a valid
569+ // / value for instances of a given type. This is used by the Swift language.
570+ LLVM_ABI DICompositeType *createStructType (
571+ DIScope *Scope, StringRef Name, DIFile *File, unsigned LineNumber,
572+ Metadata *SizeInBits, uint32_t AlignInBits, DINode::DIFlags Flags,
573+ DIType *DerivedFrom, DINodeArray Elements, unsigned RunTimeLang = 0 ,
574+ DIType *VTableHolder = nullptr , StringRef UniqueIdentifier = " " ,
575+ DIType *Specification = nullptr , uint32_t NumExtraInhabitants = 0 );
576+
522577 // / Create debugging information entry for a struct.
523578 // / \param Scope Scope in which this struct is defined.
524579 // / \param Name Struct name.
0 commit comments