(
CallConv
, pprCallConv
+ , callConvToInt
, stdCallConv
, cCallConv
type CallConv = Int
pprCallConv :: CallConv -> SDoc
-pprCallConv 0 = ptext SLIT("_stdcall")
+pprCallConv 0 = ptext SLIT("__stdcall")
pprCallConv _ = ptext SLIT("_ccall")
stdCallConv :: CallConv
defaultCallConv :: CallConv
defaultCallConv = cCallConv
+
+callConvToInt :: CallConv -> Int
+callConvToInt x = x
\end{code}
Generate the gcc attribute corresponding to the given
\begin{code}
decorateExtName :: CallConv -> FAST_STRING -> [PrimRep] -> FAST_STRING
decorateExtName cc fs ps
-{- ifdef COMPILING_WIN32 -}
| cc /= stdCallConv = fs
| otherwise = fs _APPEND_ (_PK_ ('@':show (size::Int)))
-{- else
- = fs
--}
where
size = sum (map (adjustParamSize.getPrimRepSizeInBytes) ps)