SPARC NCG: validate fixes
authorBen.Lippmeier@anu.edu.au <unknown>
Mon, 20 Apr 2009 03:21:20 +0000 (03:21 +0000)
committerBen.Lippmeier@anu.edu.au <unknown>
Mon, 20 Apr 2009 03:21:20 +0000 (03:21 +0000)
compiler/nativeGen/SPARC/RegPlate.hs
compiler/nativeGen/SPARC/Regs.hs

index 38852c5..ab58986 100644 (file)
@@ -19,6 +19,7 @@ import FastBool
 --     These names are the same as the ones in Regs.hs, but those have
 --     type Reg and not RegNo.
 --
+#ifdef sparc_TARGET_ARCH
 
 #define g0     0
 #define g1     1
@@ -96,7 +97,6 @@ import FastBool
 freeReg :: RegNo -> FastBool
 
 
-#ifdef sparc_REGS
 -- SPARC regs used by the OS / ABI
 -- %g0(r0) is always zero
 freeReg g0     = fastBool False
@@ -135,8 +135,6 @@ freeReg regNo
        , regNo `mod` 2 /= 0
        = fastBool False
 --------------------------------------
-#endif
-
 
 
 #ifdef REG_Base
@@ -285,3 +283,13 @@ globalRegMaybe CurrentTSO          = Just (RealReg REG_CurrentTSO)
 globalRegMaybe CurrentNursery          = Just (RealReg REG_CurrentNursery)
 #endif                                 
 globalRegMaybe _                       = Nothing
+
+
+#else
+freeReg :: RegNo -> FastBool
+freeReg                = error "SPARC.RegPlate.freeReg: not defined"
+
+globalRegMaybe :: GlobalReg -> Maybe Reg
+globalRegMaybe = error "SPARC.RegPlate.globalRegMaybe: not defined"
+
+#endif
index 630d5a6..e610d5d 100644 (file)
@@ -39,7 +39,7 @@ import RegClass
 import Size
 
 import Cmm
-import PprCmm
+import PprCmm          ()
 import CgUtils          ( get_GlobalReg_addr )
 
 import Unique