From: simonmar Date: Fri, 19 Jul 2002 11:48:20 +0000 (+0000) Subject: [project @ 2002-07-19 11:48:20 by simonmar] X-Git-Tag: Approx_11550_changesets_converted~1827 X-Git-Url: http://git.megacz.com/?a=commitdiff_plain;h=542e4d9254f6db5c859f6a8e7892b193c56554a3;p=ghc-hetmet.git [project @ 2002-07-19 11:48:20 by simonmar] Remove the check for >4 args when doing a foreign import "wrapper" on Sparc: we support unlimited arguments now (from Sven Panne). --- diff --git a/ghc/compiler/typecheck/TcForeign.lhs b/ghc/compiler/typecheck/TcForeign.lhs index b2ddda6..ebae77a 100644 --- a/ghc/compiler/typecheck/TcForeign.lhs +++ b/ghc/compiler/typecheck/TcForeign.lhs @@ -151,13 +151,8 @@ checkCTarget (CasmTarget _) = checkCg checkC \end{code} -On a SPARC, with foreign export dynamic, due to a giant hack when building -adjustor thunks, we only allow 16 bytes of arguments! - -So for example, args (Int,Double,Int) would be OK (1+2+1) -as would (Int,Int,Int,Int) (1+1+1+1) but not (Int,Double,Double) (1+2+2). - -On an Alpha, due to a similar hack, we only allow 4 integer arguments with +On an Alpha, with foreign export dynamic, due to a giant hack when +building adjustor thunks, we only allow 4 integer arguments with foreign export dynamic (i.e., 32 bytes of arguments after padding each argument to a quadword, excluding floating-point arguments). @@ -165,13 +160,6 @@ The check is needed for both via-C and native-code routes \begin{code} #include "nativeGen/NCG.h" -#if sparc_TARGET_ARCH -checkFEDArgs arg_tys - = check (words_of_args <= 4) err - where - words_of_args = sum (map (getPrimRepSize . typePrimRep) arg_tys) - err = ptext SLIT("On SPARC, I can only handle 4 words of arguments to foreign export dynamic") -#else #if alpha_TARGET_ARCH checkFEDArgs arg_tys = check (integral_args <= 4) err @@ -183,7 +171,6 @@ checkFEDArgs arg_tys #else checkFEDArgs arg_tys = returnNF_Tc () #endif -#endif \end{code}