add -fsimpleopt-before-flatten
[ghc-hetmet.git] / compiler / ghci / LibFFI.hsc
index 3708238..86714ef 100644 (file)
@@ -6,12 +6,6 @@
 --
 -----------------------------------------------------------------------------
 
-#ifndef USE_LIBFFI
-
-module LibFFI () where
-
-#else
-
 #include <ffi.h>
 
 module LibFFI (
@@ -22,13 +16,12 @@ module LibFFI (
 import TyCon
 import ForeignCall
 import Panic
-import Outputable
+-- import Outputable
 import Constants
 
 import Foreign
 import Foreign.C
 import Text.Printf
-import Control.Exception
 
 ----------------------------------------------------------------------------
 
@@ -51,7 +44,7 @@ prepForeignCall cconv arg_types result_type
     let res_ty = primRepToFFIType result_type
     r <- ffi_prep_cif cif abi (fromIntegral n_args) res_ty arg_arr
     if (r /= fFI_OK)
-       then throwDyn (InstallationError 
+       then ghcError (InstallationError 
                         (printf "prepForeignCallFailed: %d" (show r)))
        else return cif
     
@@ -60,7 +53,8 @@ convToABI CCallConv   = fFI_DEFAULT_ABI
 #ifdef mingw32_HOST_OS
 convToABI StdCallConv = fFI_STDCALL
 #endif
-convToABI _ = panic "convToABI: convention not supported"
+-- unknown conventions are mapped to the default, (#3336)
+convToABI _           = fFI_DEFAULT_ABI
 
 -- c.f. DsForeign.primTyDescChar
 primRepToFFIType :: PrimRep -> Ptr C_ffi_type
@@ -142,5 +136,3 @@ foreign import ccall "ffi_prep_cif"
 --            -> Ptr ()                    -- put result here
 --            -> Ptr (Ptr ())              -- arg values
 --            -> IO ()
-
-#endif