content: {-# LANGUAGE
    ForeignFunctionInterface
    #-}
  
  -- | Functions for handling the LLVMContext class. In all other LLVM interfaces,
  -- | prefer the newer explicitly thread-aware variants which use contexts
  -- | over corresponding older variants which implicitly reference a global context.
  -- | This choice allows multiple threads to do independent work with LLVM safely.
  module LLVM.Internal.FFI.Context where
  
  import LLVM.Prelude
  
  import Foreign.Ptr
  
  -- | a blind type to correspond to LLVMContext
  data Context
  
  -- | <http://llvm.org/doxygen/group__LLVMCCoreContext.html#gaac4f39a2d0b9735e64ac7681ab543b4c>
  foreign import ccall unsafe "LLVMContextCreate" contextCreate ::
      IO (Ptr Context)
  
  -- | <http://llvm.org/doxygen/group__LLVMCCoreContext.html#ga0055cde9a9b2497b332d639d8844a810>
  foreign import ccall unsafe "LLVMGetGlobalContext" getGlobalContext ::
      IO (Ptr Context)
  
  -- | <http://llvm.org/doxygen/group__LLVMCCoreContext.html#ga9cf8b0fb4a546d4cdb6f64b8055f5f57>
  foreign import ccall unsafe "LLVMContextDispose" contextDispose ::
      Ptr Context -> IO ()
  