llvm-base-3.2.0.1: LLVM/Wrapper/BitWriter.hs
module LLVM.Wrapper.BitWriter where
import Foreign.C.String
import Foreign.ForeignPtr.Safe (withForeignPtr)
import Control.Monad
import qualified LLVM.FFI.BitWriter as FFI
import LLVM.Wrapper.Core
import LLVM.Wrapper.Internal
writeBitcodeToFile :: Module -> FilePath -> IO ()
writeBitcodeToFile (MkModule m _) p = do
result <- withForeignPtr m (withCString p . FFI.writeBitcodeToFile)
when (result /= 0) $
fail $ "Failed to write bitcode to " ++ p