@@ -365,6 +365,24 @@ namespace llvm {
365
365
uint64_t BaseOffset, uint32_t VBPtrOffset,
366
366
DINode::DIFlags Flags);
367
367
368
+ // / Create debugging information entry for a member.
369
+ // / \param Scope Member scope.
370
+ // / \param Name Member name.
371
+ // / \param File File where this member is defined.
372
+ // / \param LineNo Line number.
373
+ // / \param SizeInBits Member size.
374
+ // / \param AlignInBits Member alignment.
375
+ // / \param OffsetInBits Member offset.
376
+ // / \param Flags Flags to encode member attribute, e.g. private
377
+ // / \param Ty Parent type.
378
+ // / \param Annotations Member annotations.
379
+ DIDerivedType *createMemberType (DIScope *Scope, StringRef Name,
380
+ DIFile *File, unsigned LineNo,
381
+ Metadata *SizeInBits, uint32_t AlignInBits,
382
+ Metadata *OffsetInBits,
383
+ DINode::DIFlags Flags, DIType *Ty,
384
+ DINodeArray Annotations = nullptr );
385
+
368
386
// / Create debugging information entry for a member.
369
387
// / \param Scope Member scope.
370
388
// / \param Name Member name.
@@ -419,6 +437,25 @@ namespace llvm {
419
437
DIDerivedType *createVariantMemberType (DIScope *Scope, DINodeArray Elements,
420
438
Constant *Discriminant, DIType *Ty);
421
439
440
+ // / Create debugging information entry for a bit field member.
441
+ // / \param Scope Member scope.
442
+ // / \param Name Member name.
443
+ // / \param File File where this member is defined.
444
+ // / \param LineNo Line number.
445
+ // / \param SizeInBits Member size.
446
+ // / \param OffsetInBits Member offset.
447
+ // / \param StorageOffsetInBits Member storage offset.
448
+ // / \param Flags Flags to encode member attribute.
449
+ // / \param Ty Parent type.
450
+ // / \param Annotations Member annotations.
451
+ DIDerivedType *createBitFieldMemberType (DIScope *Scope, StringRef Name,
452
+ DIFile *File, unsigned LineNo,
453
+ Metadata *SizeInBits,
454
+ Metadata *OffsetInBits,
455
+ uint64_t StorageOffsetInBits,
456
+ DINode::DIFlags Flags, DIType *Ty,
457
+ DINodeArray Annotations = nullptr );
458
+
422
459
// / Create debugging information entry for a bit field member.
423
460
// / \param Scope Member scope.
424
461
// / \param Name Member name.
@@ -510,6 +547,29 @@ namespace llvm {
510
547
unsigned RunTimeLang = 0 , DIType *VTableHolder = nullptr ,
511
548
MDNode *TemplateParms = nullptr , StringRef UniqueIdentifier = " " );
512
549
550
+ // / Create debugging information entry for a struct.
551
+ // / \param Scope Scope in which this struct is defined.
552
+ // / \param Name Struct name.
553
+ // / \param File File where this member is defined.
554
+ // / \param LineNumber Line number.
555
+ // / \param SizeInBits Member size.
556
+ // / \param AlignInBits Member alignment.
557
+ // / \param Flags Flags to encode member attribute, e.g. private
558
+ // / \param Elements Struct elements.
559
+ // / \param RunTimeLang Optional parameter, Objective-C runtime version.
560
+ // / \param UniqueIdentifier A unique identifier for the struct.
561
+ // / \param Specification The type that this type completes. This is used by
562
+ // / Swift to represent generic types.
563
+ // / \param NumExtraInhabitants The number of extra inhabitants of the type.
564
+ // / An extra inhabitant is a bit pattern that does not represent a valid
565
+ // / value for instances of a given type. This is used by the Swift language.
566
+ DICompositeType *createStructType (
567
+ DIScope *Scope, StringRef Name, DIFile *File, unsigned LineNumber,
568
+ Metadata *SizeInBits, uint32_t AlignInBits, DINode::DIFlags Flags,
569
+ DIType *DerivedFrom, DINodeArray Elements, unsigned RunTimeLang = 0 ,
570
+ DIType *VTableHolder = nullptr , StringRef UniqueIdentifier = " " ,
571
+ DIType *Specification = nullptr , uint32_t NumExtraInhabitants = 0 );
572
+
513
573
// / Create debugging information entry for a struct.
514
574
// / \param Scope Scope in which this struct is defined.
515
575
// / \param Name Struct name.
0 commit comments