Changing internal data structures used by Hpc
[ghc-hetmet.git] / includes / Regs.h
index bd7cb53..f2f7082 100644 (file)
@@ -117,9 +117,7 @@ typedef struct StgRegTable_ {
   MP_INT          rmp_result1;
   MP_INT          rmp_result2;
   StgWord         rRet;  // holds the return code of the thread
-#if defined(THREADED_RTS) || defined(PAR)
   StgSparkPool    rSparks;     /* per-task spark pool */
-#endif
 } StgRegTable;
 
 #if IN_STG_CODE
@@ -335,7 +333,7 @@ struct PartCapability_ {
 /* No such thing as a MainCapability under THREADED_RTS - each thread must have
  * its own Capability.
  */
-#if IN_STG_CODE && !defined(THREADED_RTS)
+#if IN_STG_CODE && !(defined(THREADED_RTS) && !defined(NOSMP))
 extern W_ MainCapability[];
 #endif
 
@@ -351,7 +349,7 @@ extern W_ MainCapability[];
 GLOBAL_REG_DECL(StgRegTable *,BaseReg,REG_Base)
 #define ASSIGN_BaseReg(e) (BaseReg = (e))
 #else
-#ifdef THREADED_RTS
+#if defined(THREADED_RTS) && !defined(NOSMP)
 #error BaseReg must be in a register for THREADED_RTS
 #endif
 #define BaseReg (&((struct PartCapability_ *)MainCapability)->r)