def AddressSpace : TypeAttr {
let Spellings = [GNU<"address_space">];
let Args = [IntArgument<"AddressSpace">];
+ let ASTNode = 0;
}
def Alias : Attr {
def NeonPolyVectorType : TypeAttr {
let Spellings = [GNU<"neon_polyvector_type">];
let Args = [IntArgument<"NumElements">];
+ let ASTNode = 0;
}
def NeonVectorType : TypeAttr {
let Spellings = [GNU<"neon_vector_type">];
let Args = [IntArgument<"NumElements">];
+ let ASTNode = 0;
}
def ReturnsTwice : InheritableAttr {
def ObjCGC : TypeAttr {
let Spellings = [GNU<"objc_gc">];
let Args = [IdentifierArgument<"Kind">];
+ let ASTNode = 0;
}
def ObjCOwnership : InheritableAttr {
def VectorSize : TypeAttr {
let Spellings = [GNU<"vector_size">, CXX11<"gnu", "vector_size">];
let Args = [ExprArgument<"NumBytes">];
+ let ASTNode = 0;
}
def VecTypeHint : InheritableAttr {
def Ptr32 : TypeAttr {
let Spellings = [Keyword<"__ptr32">];
+ let ASTNode = 0;
}
def Ptr64 : TypeAttr {
let Spellings = [Keyword<"__ptr64">];
+ let ASTNode = 0;
}
def SPtr : TypeAttr {
let Spellings = [Keyword<"__sptr">];
+ let ASTNode = 0;
}
def UPtr : TypeAttr {
let Spellings = [Keyword<"__uptr">];
+ let ASTNode = 0;
}
class MSInheritanceAttr : InheritableAttr {