llvm-hs-5.0.0: src/LLVM/Internal/FFI/Attribute.h
#ifndef __LLVM_INTERNAL_FFI__ATTRIBUTES__H__
#define __LLVM_INTERNAL_FFI__ATTRIBUTES__H__
// The last three arguments are flags indicating if this is a
// parameter attribute, function result attribute or function attribute.
#define LLVM_HS_FOR_EACH_ATTRIBUTE_KIND(macro) \
macro(None,F,F,F) \
macro(Alignment,T,T,F) \
macro(AllocSize,F,F,T) \
macro(AlwaysInline,F,F,T) \
macro(ArgMemOnly,F,F,T) \
macro(Builtin,F,F,T) \
macro(ByVal,T,F,F) \
macro(Cold,F,F,T) \
macro(Convergent,F,F,T) \
macro(Dereferenceable,T,T,F) \
macro(DereferenceableOrNull,T,T,F) \
macro(InAlloca,T,F,F) \
macro(InReg,T,T,F) \
macro(InaccessibleMemOnly,F,F,T) \
macro(InaccessibleMemOrArgMemOnly,F,F,T) \
macro(InlineHint,F,F,T) \
macro(JumpTable,F,F,T) \
macro(MinSize,F,F,T) \
macro(Naked,F,F,T) \
macro(Nest,T,F,F) \
macro(NoAlias,T,T,F) \
macro(NoBuiltin,F,F,T) \
macro(NoCapture,T,F,F) \
macro(NoDuplicate,F,F,T) \
macro(NoImplicitFloat,F,F,T) \
macro(NoInline,F,F,T) \
macro(NoRecurse,F,F,T) \
macro(NoRedZone,F,F,T) \
macro(NoReturn,F,F,T) \
macro(NoUnwind,F,F,T) \
macro(NonLazyBind,F,F,T) \
macro(NonNull,T,T,F) \
macro(OptimizeForSize,F,F,T) \
macro(OptimizeNone,F,F,T) \
macro(ReadNone,T,F,T) \
macro(ReadOnly,T,F,T) \
macro(Returned,T,F,F) \
macro(ReturnsTwice,F,F,T) \
macro(SExt,T,T,F) \
macro(SafeStack,F,F,T) \
macro(SanitizeAddress,F,F,T) \
macro(SanitizeMemory,F,F,T) \
macro(SanitizeThread,F,F,T) \
macro(Speculatable,F,F,T) \
macro(StackAlignment,F,F,T) \
macro(StackProtect,F,F,T) \
macro(StackProtectReq,F,F,T) \
macro(StackProtectStrong,F,F,T) \
macro(StructRet,T,F,F) \
macro(SwiftError,T,F,F) \
macro(SwiftSelf,T,F,F) \
macro(UWTable,F,F,T) \
macro(WriteOnly,T,F,T) \
macro(ZExt,T,T,F) \
macro(EndAttrKinds,F,F,F)
typedef enum {
#define ENUM_CASE(x,p,r,f) LLVM_Hs_AttributeKind_ ## x,
LLVM_HS_FOR_EACH_ATTRIBUTE_KIND(ENUM_CASE)
#undef ENUM_CASE
} LLVM_Hs_AttributeKind;
#endif