@@ -3347,31 +3347,33 @@ class DIImportedEntity : public DINode {
33473347 static DIImportedEntity *getImpl (LLVMContext &Context, unsigned Tag,
33483348 DIScope *Scope, DINode *Entity, DIFile *File,
33493349 unsigned Line, StringRef Name,
3350- StorageType Storage,
3350+ DINodeArray Elements, StorageType Storage,
33513351 bool ShouldCreate = true ) {
33523352 return getImpl (Context, Tag, Scope, Entity, File, Line,
3353- getCanonicalMDString (Context, Name), Storage, ShouldCreate);
3353+ getCanonicalMDString (Context, Name), Elements.get (), Storage,
3354+ ShouldCreate);
33543355 }
3355- static DIImportedEntity *getImpl (LLVMContext &Context, unsigned Tag,
3356- Metadata *Scope, Metadata *Entity,
3357- Metadata *File, unsigned Line,
3358- MDString *Name, StorageType Storage,
3359- bool ShouldCreate = true );
3356+ static DIImportedEntity *
3357+ getImpl (LLVMContext &Context, unsigned Tag, Metadata *Scope, Metadata *Entity,
3358+ Metadata *File, unsigned Line, MDString *Name, Metadata *Elements,
3359+ StorageType Storage, bool ShouldCreate = true );
33603360
33613361 TempDIImportedEntity cloneImpl () const {
33623362 return getTemporary (getContext (), getTag (), getScope (), getEntity (),
3363- getFile (), getLine (), getName ());
3363+ getFile (), getLine (), getName (), getElements () );
33643364 }
33653365
33663366public:
33673367 DEFINE_MDNODE_GET (DIImportedEntity,
33683368 (unsigned Tag, DIScope *Scope, DINode *Entity, DIFile *File,
3369- unsigned Line, StringRef Name = " " ),
3370- (Tag, Scope, Entity, File, Line, Name))
3369+ unsigned Line, StringRef Name = " " ,
3370+ DINodeArray Elements = nullptr ),
3371+ (Tag, Scope, Entity, File, Line, Name, Elements))
33713372 DEFINE_MDNODE_GET (DIImportedEntity,
33723373 (unsigned Tag, Metadata *Scope, Metadata *Entity,
3373- Metadata *File, unsigned Line, MDString *Name),
3374- (Tag, Scope, Entity, File, Line, Name))
3374+ Metadata *File, unsigned Line, MDString *Name,
3375+ Metadata *Elements = nullptr ),
3376+ (Tag, Scope, Entity, File, Line, Name, Elements))
33753377
33763378 TempDIImportedEntity clone () const { return cloneImpl (); }
33773379
@@ -3380,11 +3382,15 @@ class DIImportedEntity : public DINode {
33803382 DINode *getEntity () const { return cast_or_null<DINode>(getRawEntity ()); }
33813383 StringRef getName () const { return getStringOperand (2 ); }
33823384 DIFile *getFile () const { return cast_or_null<DIFile>(getRawFile ()); }
3385+ DINodeArray getElements () const {
3386+ return cast_or_null<MDTuple>(getRawElements ());
3387+ }
33833388
33843389 Metadata *getRawScope () const { return getOperand (0 ); }
33853390 Metadata *getRawEntity () const { return getOperand (1 ); }
33863391 MDString *getRawName () const { return getOperandAs<MDString>(2 ); }
33873392 Metadata *getRawFile () const { return getOperand (3 ); }
3393+ Metadata *getRawElements () const { return getOperand (4 ); }
33883394
33893395 static bool classof (const Metadata *MD) {
33903396 return MD->getMetadataID () == DIImportedEntityKind;
0 commit comments