mixedPtrLocn, mixedTypeLocn
)
-import Constants ( mIN_UPD_SIZE, wORD_SIZE )
+import Constants ( mIN_UPD_SIZE )
import ForeignCall ( CCallSpec(..), CCallTarget(..), playSafe, ccallConvAttribute )
import CLabel ( externallyVisibleCLabel,
needsCDecl, pprCLabel,
-- * (scaleRep*) (
-- ((char*)baseAmode) + offw*bytes_per_word + indexAmode*bytes_per_scaleRep
-- )
- = let offb = parens (int offw <> char '*' <> int wORD_SIZE)
+ = let offb = parens (int offw <> char '*' <> text "sizeof(void*)")
indb = parens (parens (pprAmode indexAmode)
<> char '*' <> int (getPrimRepArrayElemSize scaleRep))
baseb = text "(char*)" <> parens (pprAmode baseAmode)
amode has kind2.
\begin{code}
+ppr_amode CBytesPerWord
+ = text "(sizeof(void*))"
+
ppr_amode (CMem rep addr)
= let txt_rep = pprPrimKind rep
in hcat [ char '*', parens (txt_rep <> char '*'), parens (ppr_amode addr) ]