llvm-base-3.2.0.1: LLVM/FFI/Support.hsc
{-# LANGUAGE CPP, ForeignFunctionInterface #-}
module LLVM.FFI.Support
(
createStandardModulePasses
, createStandardFunctionPasses
#if HS_LLVM_VERSION >= 300
, addEmitObjectPass
#endif
, disablePrettyStackTrace
) where
#if __GLASGOW_HASKELL__ >= 704
import Foreign.C.Types (CInt(..), CUInt(..))
#else
import Foreign.C.Types (CInt, CUInt)
#endif
import Foreign.C.String (CString)
import LLVM.FFI.Core (PassManagerRef, ModuleRef)
foreign import ccall unsafe "LLVMCreateStandardFunctionPasses" createStandardFunctionPasses
:: PassManagerRef -> CUInt -> IO ()
foreign import ccall unsafe "LLVMCreateStandardModulePasses" createStandardModulePasses
:: PassManagerRef -> CUInt -> CInt -> CInt -> CInt -> CInt -> CInt -> CInt -> IO ()
#if HS_LLVM_VERSION >= 300
foreign import ccall unsafe "LLVMAddEmitObjectPass" addEmitObjectPass
:: ModuleRef -> CString -> IO CUInt
#endif
foreign import ccall unsafe "LLVMDisablePrettyStackTrace" disablePrettyStackTrace
:: IO ()