#if alpha_TARGET_ARCH
import Type
import SMRep
-import MachOp
#endif
import Name
import OccName
checkFEDArgs arg_tys
= check (integral_args <= 32) err
where
- integral_args = sum [ (machRepByteWidth . argMachRep . primRepToCgRep) prim_rep
+ integral_args = sum [ (widthInBytes . argMachRep . primRepToCgRep) prim_rep
| prim_rep <- map typePrimRep arg_tys,
primRepHint prim_rep /= FloatHint ]
err = ptext (sLit "On Alpha, I can only handle 32 bytes of non-floating-point arguments to foreign export dynamic")
-- is *stable* (i.e. the compiler won't change it later),
-- because this name will be referred to by the C code stub.
id <- mkStableIdFromName nm sig_ty loc mkForeignExportOcc
- return (L loc (VarBind id rhs), ForeignExport (L loc id) undefined spec)
+ return (mkVarBind id rhs, ForeignExport (L loc id) undefined spec)
tcFExport d = pprPanic "tcFExport" (ppr d)
\end{code}