[project @ 1998-08-15 14:06:43 by sof]
authorsof <unknown>
Sat, 15 Aug 1998 14:06:48 +0000 (14:06 +0000)
committersof <unknown>
Sat, 15 Aug 1998 14:06:48 +0000 (14:06 +0000)
SMmark: multi-slurp protect SMmarkDefs.h; lift out SMmarkDefs include from the insides of an ifdef

ghc/runtime/Makefile
ghc/runtime/storage/SMmark.lhc
ghc/runtime/storage/SMmarkDefs.lh

index adee828..1126583 100644 (file)
@@ -1,5 +1,5 @@
 #-----------------------------------------------------------------------------
-# $Id: Makefile,v 1.11 1998/08/14 10:57:58 sof Exp $
+# $Id: Makefile,v 1.12 1998/08/15 14:06:48 sof Exp $
 
 #  This is the Makefile for the runtime-system stuff.
 #  This stuff is written in C (and cannot be written in Haskell).
@@ -169,7 +169,7 @@ SRC_HC_OPTS += -I$(GHC_INCLUDE_DIR) $(GCap) $(GC2s) $(GC1s) -O -optc-DIN_GHC_RTS
 # Note: _have_ to drop the -optc prefix for the GC-type opts (e.g. -optc-DGCap), since
 # -o<foo> is interpreted by mkdependC as meaning use <foo> as suffix.
 #
-# Include -D for all the different collectors to be sure we get at all deps.
+# Hack: Include -D for all the different collectors to be sure we gather all the deps.
 #
 SRC_MKDEPENDC_OPTS += -I$(GHC_INCLUDE_DIR) -DGCap -DGC1s -DGC2s
 
index 026e809..841c46c 100644 (file)
@@ -185,6 +185,8 @@ HeapLim  -- The limit of the heap
 This code is only used if @_INFO_MARKING@ is defined.
 
 \begin{code}
+#include "SMmarkDefs.h"
+
 #if defined(_INFO_MARKING)
 \end{code}
 
@@ -193,7 +195,6 @@ First the necessary forward declarations.
 \begin{code}
 /* #define MARK_REG_MAP -- Must be done on command line for threaded code */
 #include "SMinternal.h"
-#include "SMmarkDefs.h"
 
 #if defined(GRAN)
 extern P_ ret_MRoot, ret_Mark;
index 259429c..6a0ece5 100644 (file)
@@ -9,6 +9,9 @@
 Describe how to set the mark bit for a closure.
 
 \begin{code}
+#ifndef SMMARKDEFS_H
+#define SMMARKDEFS_H
+
 #if defined(GCgn)
 
 #define SET_MARK_BIT(closure)                                  \
@@ -318,5 +321,6 @@ Define some debugging macros.
 
 #endif
 
+#endif /* SMMARKDEFS_H */
 \end{code}