+ | cconv == PrimCallConv = do
+ checkCg (checkCOrAsmOrDotNetOrInterp)
+ checkCTarget target
+ check (safety == PlayRisky)
+ (text "A `foreign import prim' must always be annotated as `unsafe'")
+ dflags <- getDOpts
+ checkForeignArgs (isFFIPrimArgumentTy dflags) arg_tys
+ -- prim import result is more liberal, allows (#,,#)
+ checkForeignRes nonIOok (isFFIPrimResultTy dflags) res_ty
+ return idecl