X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=compiler%2FcoreSyn%2FMkExternalCore.lhs;h=eae4b932657cf8c6ee906dd5bfd5c1ba08ad7916;hb=635952097df211953c4bd0456b37eba64c485f60;hp=fc49c2b17b2d26c0e9292658bb97711f7f54f1d3;hpb=0c5a05841df790c3d6b8537debc3b18aa8da98c5;p=ghc-hetmet.git diff --git a/compiler/coreSyn/MkExternalCore.lhs b/compiler/coreSyn/MkExternalCore.lhs index fc49c2b..eae4b93 100644 --- a/compiler/coreSyn/MkExternalCore.lhs +++ b/compiler/coreSyn/MkExternalCore.lhs @@ -28,8 +28,8 @@ import ForeignCall import DynFlags import FastString -import IO import Data.Char +import System.IO emitExternalCore :: DynFlags -> CgGuts -> IO () emitExternalCore dflags cg_guts @@ -129,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) @@ -163,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