Refactor PackageTarget back into StaticTarget
[ghc-hetmet.git] / compiler / coreSyn / MkExternalCore.lhs
index 0cfb787..eae4b93 100644 (file)
@@ -26,15 +26,14 @@ import Outputable
 import Encoding
 import ForeignCall
 import DynFlags
-import StaticFlags
 import FastString
 
-import IO
 import Data.Char
+import System.IO
 
 emitExternalCore :: DynFlags -> CgGuts -> IO ()
 emitExternalCore dflags cg_guts
- | opt_EmitExternalCore 
+ | dopt Opt_EmitExternalCore dflags
  = (do handle <- openFile corename WriteMode
        hPutStrLn handle (show (mkExternalCore cg_guts))      
        hClose handle)
@@ -130,13 +129,10 @@ make_exp (Var v) = do
   isLocal <- isALocal vName
   return $
      case idDetails v of
-       FCallId (CCall (CCallSpec (StaticTarget nm) callconv _)) 
+       FCallId (CCall (CCallSpec (StaticTarget nm _) callconv _)) 
            -> C.External (unpackFS nm) (showSDoc (ppr callconv)) (make_ty (varType v))
        FCallId (CCall (CCallSpec DynamicTarget     callconv _)) 
            -> C.DynExternal            (showSDoc (ppr callconv)) (make_ty (varType v))
-       FCallId _ 
-           -> pprPanic "MkExternalCore died: can't handle non-{static,dynamic}-C foreign call"
-                    (ppr v)
        -- Constructors are always exported, so make sure to declare them
        -- with qualified names
        DataConWorkId _ -> C.Var (make_var_qid False vName)
@@ -164,7 +160,6 @@ make_exp (Case e v ty alts) = do
   return $ C.Case scrut (make_vbind v) (make_ty ty) newAlts
 make_exp (Note (SCC _) e) = make_exp e >>= (return . C.Note "SCC") -- temporary
 make_exp (Note (CoreNote s) e) = make_exp e >>= (return . C.Note s)  -- hdaume: core annotations
-make_exp (Note InlineMe e) = make_exp e >>= (return . C.Note "InlineMe")
 make_exp _ = error "MkExternalCore died: make_exp"
 
 make_alt :: CoreAlt -> CoreM C.Alt