X-Git-Url: http://git.megacz.com/?p=ghc-hetmet.git;a=blobdiff_plain;f=ghc%2Fcompiler%2FabsCSyn%2FCallConv.lhs;h=712a241c20a06eed29e1924c8eb4b9dd2655c968;hp=97a92bb27f2a7ae81904aef7610999c210c0998a;hb=438596897ebbe25a07e1c82085cfbc5bdb00f09e;hpb=967cc47f37cb93a5e2b6df7822c9a646f0428247 diff --git a/ghc/compiler/absCSyn/CallConv.lhs b/ghc/compiler/absCSyn/CallConv.lhs index 97a92bb..712a241 100644 --- a/ghc/compiler/absCSyn/CallConv.lhs +++ b/ghc/compiler/absCSyn/CallConv.lhs @@ -8,6 +8,7 @@ module CallConv ( CallConv , pprCallConv + , callConvToInt , stdCallConv , cCallConv @@ -26,7 +27,7 @@ import PrimRep ( PrimRep, getPrimRepSizeInBytes ) type CallConv = Int pprCallConv :: CallConv -> SDoc -pprCallConv 0 = ptext SLIT("_stdcall") +pprCallConv 0 = ptext SLIT("__stdcall") pprCallConv _ = ptext SLIT("_ccall") stdCallConv :: CallConv @@ -37,6 +38,9 @@ cCallConv = 1 defaultCallConv :: CallConv defaultCallConv = cCallConv + +callConvToInt :: CallConv -> Int +callConvToInt x = x \end{code} Generate the gcc attribute corresponding to the given @@ -68,12 +72,8 @@ This name mangler is only used by the x86 native code generator. \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)