module StixMacro ( macroCode, heapCheck ) where
IMP_Ubiq(){-uitious-}
+#if defined(__GLASGOW_HASKELL__) && __GLASGOW_HASKELL__ <= 201
IMPORT_DELOOPER(NcgLoop) ( amodeToStix )
+#else
+import {-# SOURCE #-} StixPrim ( amodeToStix )
+#endif
import MachMisc
+
+-- In 2.0x we import Addr via GlaExts, so we better hide the other one here.
+#if __GLASGOW_HASKELL__ >= 202
+import MachRegs hiding (Addr)
+#else
import MachRegs
+#endif
import AbsCSyn ( CStmtMacro(..), MagicId(..), mkIntCLit, CAddrMode )
-import CgCompInfo ( uF_RET, uF_SUA, uF_SUB, uF_UPDATEE,
+import Constants ( uF_RET, uF_SUA, uF_SUB, uF_UPDATEE,
sTD_UF_SIZE
)
import OrdList ( OrdList )
import PrimOp ( PrimOp(..) )
import PrimRep ( PrimRep(..) )
import Stix
-import UniqSupply ( returnUs, thenUs, UniqSM(..) )
+import UniqSupply ( returnUs, thenUs, SYN_IE(UniqSM) )
\end{code}
The @ARGS_CHK_A{_LOAD_NODE}@ macros check for sufficient arguments on
returnUs (\xs -> grabRet : grabSuB : grabSuA : updSpB : xs)
\end{code}
-The @SET_ARITY@ and @CHK_ARITY@ macros are disabled for ``normal''
-compilation.
-\begin{code}
-macroCode SET_ARITY args = returnUs id
-macroCode CHK_ARITY args = returnUs id
-\end{code}
-
This one only applies if we have a machine register devoted to TagReg.
\begin{code}
macroCode SET_TAG [tag]