packages feed

llvm-hs-5.1.0: src/LLVM/Internal/FFI/Target.h

#ifndef __LLVM_INTERNAL_FFI__TARGET__H__
#define __LLVM_INTERNAL_FFI__TARGET__H__

#define LLVM_HS_FOR_EACH_RELOC_MODEL(macro)	\
	macro(Default, Default)													\
	macro(Static, Static)														\
	macro(PIC, PIC_)																\
	macro(DynamicNoPic, DynamicNoPIC)

#define LLVM_HS_FOR_EACH_CODE_MODEL(macro) \
	macro(Default)																\
	macro(JITDefault)															\
	macro(Small)																	\
	macro(Kernel)																	\
	macro(Medium)																	\
	macro(Large)

#define LLVM_HS_FOR_EACH_CODE_GEN_OPT_LEVEL(macro) \
	macro(None)																						\
	macro(Less)																						\
	macro(Default)																				\
	macro(Aggressive)

#define LLVM_HS_FOR_EACH_CODE_GEN_FILE_TYPE(macro)	\
	macro(Assembly)                                       \
	macro(Object)

#define LLVM_HS_FOR_EACH_TARGET_OPTION_FLAG(macro)	\
	macro(PrintMachineCode)																\
	macro(UnsafeFPMath)																		\
	macro(NoInfsFPMath)																		\
	macro(NoNaNsFPMath)																		\
	macro(NoTrappingFPMath)                               \
	macro(NoSignedZerosFPMath)                            \
	macro(HonorSignDependentRoundingFPMathOption)					\
	macro(NoZerosInBSS)																		\
	macro(GuaranteedTailCallOpt)													\
	macro(StackSymbolOrdering)                            \
	macro(EnableFastISel)																	\
	macro(UseInitArray)																		\
	macro(DisableIntegratedAS)														\
	macro(RelaxELFRelocations)                            \
	macro(FunctionSections)                               \
	macro(DataSections)                                   \
	macro(UniqueSectionNames)                             \
	macro(TrapUnreachable)                                \
	macro(EmulatedTLS)                                    \
	macro(EnableIPRA)

typedef enum {
#define ENUM_CASE(n) LLVM_Hs_TargetOptionFlag_ ## n,
	LLVM_HS_FOR_EACH_TARGET_OPTION_FLAG(ENUM_CASE)
#undef ENUM_CASE
} LLVM_Hs_TargetOptionFlag;

#define LLVM_HS_FOR_EACH_DEBUG_COMPRESSION_TYPE(macro) \
    macro(None) \
    macro(GNU) \
    macro(Z)

typedef enum {
#define ENUM_CASE(n) LLVM_Hs_DebugCompressionType_ ## n,
    LLVM_HS_FOR_EACH_DEBUG_COMPRESSION_TYPE(ENUM_CASE)
#undef ENUM_CASE
} LLVM_Hs_DebugCompressionType;

#define LLVM_HS_FOR_EACH_FLOAT_ABI(macro)	\
	macro(Default)																\
	macro(Soft)																		\
	macro(Hard)

typedef enum {
#define ENUM_CASE(n) LLVM_Hs_FloatABI_ ## n,
	LLVM_HS_FOR_EACH_FLOAT_ABI(ENUM_CASE)
#undef ENUM_CASE
} LLVM_Hs_FloatABI;

#define LLVM_HS_FOR_EACH_FP_OP_FUSION_MODE(macro)	\
	macro(Fast)																						\
	macro(Standard)																				\
	macro(Strict)

typedef enum {
#define ENUM_CASE(n) LLVM_Hs_FPOpFusionMode_ ## n,
	LLVM_HS_FOR_EACH_FP_OP_FUSION_MODE(ENUM_CASE)
#undef ENUM_CASE
} LLVM_Hs_FPOpFusionMode;

#define LLVM_HS_FOR_EACH_THREAD_MODEL(macro) \
	macro(POSIX) \
	macro(Single)

typedef enum {
#define ENUM_CASE(n) LLVM_Hs_ThreadModel_ ## n,
	LLVM_HS_FOR_EACH_THREAD_MODEL(ENUM_CASE)
#undef ENUM_CASE
} LLVM_Hs_ThreadModel;

#define LLVM_HS_FOR_EACH_EABI(macro) \
	macro(Unknown)																				\
	macro(Default)																				\
	macro(EABI4)																					\
	macro(EABI5)																					\
	macro(GNU)

typedef enum {
#define ENUM_CASE(n) LLVM_Hs_EABI_ ## n,
	LLVM_HS_FOR_EACH_EABI(ENUM_CASE)
#undef ENUM_CASE
} LLVM_Hs_EABI;

#define LLVM_HS_FOR_EACH_DEBUGGER_KIND(macro) \
	macro(Default)																				\
	macro(GDB)																						\
	macro(LLDB)																						\
	macro(SCE)

typedef enum {
#define ENUM_CASE(n) LLVM_Hs_DebuggerKind_ ## n,
	LLVM_HS_FOR_EACH_DEBUGGER_KIND(ENUM_CASE)
#undef ENUM_CASE
} LLVM_Hs_DebuggerKind;

#define LLVM_HS_FOR_EACH_FP_DENORMAL_MODE(macro) \
	macro(IEEE)																						\
	macro(PreserveSign)																		\
	macro(PositiveZero)

typedef enum {
#define ENUM_CASE(n) LLVM_Hs_FPDenormalMode_ ## n,
	LLVM_HS_FOR_EACH_FP_DENORMAL_MODE(ENUM_CASE)
#undef ENUM_CASE
} LLVM_Hs_FPDenormalMode;

#define LLVM_HS_FOR_EACH_EXCEPTION_HANDLING(macro) \
	macro(None)																						\
	macro(DwarfCFI)																				\
	macro(SjLj)																						\
	macro(ARM)																						\
	macro(WinEH)

typedef enum {
#define ENUM_CASE(n) LLVM_Hs_ExceptionHandling_ ## n,
	LLVM_HS_FOR_EACH_EXCEPTION_HANDLING(ENUM_CASE)
#undef ENUM_CASE
} LLVM_Hs_ExceptionHandling;

#endif