@@ -2962,25 +2962,28 @@ class DIGlobalVariable : public DIVariable {
29622962 StringRef LinkageName, DIFile *File, unsigned Line, DIType *Type,
29632963 bool IsLocalToUnit, bool IsDefinition,
29642964 DIDerivedType *StaticDataMemberDeclaration, MDTuple *TemplateParams,
2965- uint32_t AlignInBits, StorageType Storage, bool ShouldCreate = true ) {
2965+ uint32_t AlignInBits, DINodeArray Annotations, StorageType Storage,
2966+ bool ShouldCreate = true ) {
29662967 return getImpl (Context, Scope, getCanonicalMDString (Context, Name),
29672968 getCanonicalMDString (Context, LinkageName), File, Line, Type,
29682969 IsLocalToUnit, IsDefinition, StaticDataMemberDeclaration,
2969- cast_or_null<Metadata>(TemplateParams), AlignInBits, Storage,
2970- ShouldCreate);
2970+ cast_or_null<Metadata>(TemplateParams), AlignInBits,
2971+ Annotations. get (), Storage, ShouldCreate);
29712972 }
29722973 static DIGlobalVariable *
29732974 getImpl (LLVMContext &Context, Metadata *Scope, MDString *Name,
29742975 MDString *LinkageName, Metadata *File, unsigned Line, Metadata *Type,
29752976 bool IsLocalToUnit, bool IsDefinition,
29762977 Metadata *StaticDataMemberDeclaration, Metadata *TemplateParams,
2977- uint32_t AlignInBits, StorageType Storage, bool ShouldCreate = true );
2978+ uint32_t AlignInBits, Metadata *Annotations, StorageType Storage,
2979+ bool ShouldCreate = true );
29782980
29792981 TempDIGlobalVariable cloneImpl () const {
29802982 return getTemporary (getContext (), getScope (), getName (), getLinkageName (),
29812983 getFile (), getLine (), getType (), isLocalToUnit (),
29822984 isDefinition (), getStaticDataMemberDeclaration (),
2983- getTemplateParams (), getAlignInBits ());
2985+ getTemplateParams (), getAlignInBits (),
2986+ getAnnotations ());
29842987 }
29852988
29862989public:
@@ -2989,19 +2992,21 @@ class DIGlobalVariable : public DIVariable {
29892992 DIFile *File, unsigned Line, DIType *Type,
29902993 bool IsLocalToUnit, bool IsDefinition,
29912994 DIDerivedType *StaticDataMemberDeclaration,
2992- MDTuple *TemplateParams, uint32_t AlignInBits),
2995+ MDTuple *TemplateParams, uint32_t AlignInBits,
2996+ DINodeArray Annotations),
29932997 (Scope, Name, LinkageName, File, Line, Type, IsLocalToUnit,
29942998 IsDefinition, StaticDataMemberDeclaration, TemplateParams,
2995- AlignInBits))
2999+ AlignInBits, Annotations ))
29963000 DEFINE_MDNODE_GET(DIGlobalVariable,
29973001 (Metadata * Scope, MDString *Name, MDString *LinkageName,
29983002 Metadata *File, unsigned Line, Metadata *Type,
29993003 bool IsLocalToUnit, bool IsDefinition,
30003004 Metadata *StaticDataMemberDeclaration,
3001- Metadata *TemplateParams, uint32_t AlignInBits),
3005+ Metadata *TemplateParams, uint32_t AlignInBits,
3006+ Metadata *Annotations),
30023007 (Scope, Name, LinkageName, File, Line, Type, IsLocalToUnit,
30033008 IsDefinition, StaticDataMemberDeclaration, TemplateParams,
3004- AlignInBits))
3009+ AlignInBits, Annotations ))
30053010
30063011 TempDIGlobalVariable clone() const { return cloneImpl (); }
30073012
@@ -3012,11 +3017,15 @@ class DIGlobalVariable : public DIVariable {
30123017 DIDerivedType *getStaticDataMemberDeclaration () const {
30133018 return cast_or_null<DIDerivedType>(getRawStaticDataMemberDeclaration ());
30143019 }
3020+ DINodeArray getAnnotations () const {
3021+ return cast_or_null<MDTuple>(getRawAnnotations ());
3022+ }
30153023
30163024 MDString *getRawLinkageName () const { return getOperandAs<MDString>(5 ); }
30173025 Metadata *getRawStaticDataMemberDeclaration () const { return getOperand (6 ); }
30183026 Metadata *getRawTemplateParams () const { return getOperand (7 ); }
30193027 MDTuple *getTemplateParams () const { return getOperandAs<MDTuple>(7 ); }
3028+ Metadata *getRawAnnotations () const { return getOperand (8 ); }
30203029
30213030 static bool classof (const Metadata *MD) {
30223031 return MD->getMetadataID () == DIGlobalVariableKind;
0 commit comments