X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=ghc%2Fcompiler%2FabsCSyn%2FPprAbsC.lhs;h=7fba22e30f3d135888b3c8c7852fef86ec3a98f5;hb=62a2c335be9c3f33cd7d459d5403ea94b148c5ea;hp=b2e60c492a02f3e3ca55aea878b926bdcdf5d5a6;hpb=1fb1ab5d53a09607e7f6d2450806760688396387;p=ghc-hetmet.git diff --git a/ghc/compiler/absCSyn/PprAbsC.lhs b/ghc/compiler/absCSyn/PprAbsC.lhs index b2e60c4..7fba22e 100644 --- a/ghc/compiler/absCSyn/PprAbsC.lhs +++ b/ghc/compiler/absCSyn/PprAbsC.lhs @@ -747,20 +747,22 @@ ppr_casm_results sty [r] liveness (result_type, assign_result) = case r_kind of -{- @ForeignObj@s replaces MallocPtrs and are *not* CReturnable. - Instead, external references have to be turned into ForeignObjs +{- + @ForeignObj@s replaces MallocPtrs and are *not* CReturnable. + Instead, external references have to explicitly turned into ForeignObjs using the primop makeForeignObj#. Benefit: Multiple finalisation routines can be accommodated and the below special case is not needed. Price is, of course, that you have to explicitly wrap `foreign objects' with makeForeignObj#. -+ + ForeignObjRep -> (uppPStr SLIT("StgForeignObj"), uppBesides [ uppPStr SLIT("constructForeignObj"),uppChar '(', liveness, uppComma, result_reg, uppComma, local_var, - pp_paren_semi ]) -} + pp_paren_semi ]) +-} _ -> (pprPrimKind sty r_kind, uppBesides [ result_reg, uppEquals, local_var, uppSemi ])