Tag ForeignCalls with the package they correspond to
[ghc-hetmet.git] / compiler / codeGen / StgCmmForeign.hs
index 64d0203..bda9e0f 100644 (file)
@@ -58,7 +58,8 @@ cgForeignCall results result_hints (CCall (CCallSpec target cconv safety)) stg_a
                 = case target of
                     StaticTarget lbl ->
                       (unzip cmm_args,
-                       CmmLit (CmmLabel (mkForeignLabel lbl (call_size cmm_args) False IsFunction)))
+                       CmmLit (CmmLabel (mkForeignLabel lbl (call_size cmm_args)
+                                                        ForeignLabelInThisPackage IsFunction)))
                     DynamicTarget    ->  case cmm_args of
                                            (fn,_):rest -> (unzip rest, fn)
                                            [] -> panic "cgForeignCall []"
@@ -81,9 +82,6 @@ cgForeignCall results result_hints (CCall (CCallSpec target cconv safety)) stg_a
        -- ToDo: this might not be correct for 64-bit API
       arg_size (arg, _) = max (widthInBytes $ typeWidth $ cmmExprType arg) wORD_SIZE
 
-cgForeignCall _ _ (DNCall _) _
-  = panic "cgForeignCall: DNCall"
-
 emitCCall :: [(CmmFormal,ForeignHint)]
          -> CmmExpr 
          -> [(CmmActual,ForeignHint)]
@@ -99,9 +97,9 @@ emitCCall hinted_results fn hinted_args
     fc = ForeignConvention CCallConv arg_hints result_hints
     
 
-emitPrimCall :: CmmFormal -> CallishMachOp -> CmmActuals -> FCode ()
+emitPrimCall :: CmmFormals -> CallishMachOp -> CmmActuals -> FCode ()
 emitPrimCall res op args
-  = emitForeignCall PlayRisky [res] (PrimTarget op) args NoC_SRT CmmMayReturn
+  = emitForeignCall PlayRisky res (PrimTarget op) args NoC_SRT CmmMayReturn
 
 -- alternative entry point, used by CmmParse
 emitForeignCall