[project @ 1999-03-25 13:13:51 by simonm]
[ghc-hetmet.git] / ghc / rts / RtsFlags.h
index 9678a98..e89289c 100644 (file)
@@ -1,5 +1,7 @@
 /* -----------------------------------------------------------------------------
- * $Id: RtsFlags.h,v 1.7 1999/01/26 16:16:29 simonm Exp $
+ * $Id: RtsFlags.h,v 1.12 1999/03/25 13:14:08 simonm Exp $
+ *
+ * (c) The GHC Team, 1998-1999
  *
  * Datatypes that holds the command-line flag settings.
  *
@@ -22,6 +24,7 @@ struct GC_FLAGS {
     nat            maxHeapSize;        /* in *blocks* */
     nat     minAllocAreaSize;   /* in *blocks* */
     nat     minOldGenSize;      /* in *blocks* */
+    nat     heapSizeSuggestion; /* in *blocks* */
     double  oldGenFactor;
     double  pcFreeHeap;
 
@@ -36,7 +39,9 @@ struct GC_FLAGS {
 };
 
 /* Hack: this struct uses bitfields so that we can use a binary arg
- * with the -D flag
+ * with the -D flag.
+ * Remember to update the corresponding bit of RtsFlags.c if you
+ * change/extend this struct.
  */
 struct DEBUG_FLAGS {  
   /* flags to control debugging output in various subsystems */
@@ -52,6 +57,7 @@ struct DEBUG_FLAGS {
   rtsBool sanity      : 1; /* 128 */
 
   rtsBool stable      : 1; /* 256 */
+  rtsBool prof        : 1; /* 512 */
 };
 
 #if defined(PROFILING) || defined(PAR)
@@ -244,7 +250,11 @@ struct RTS_FLAGS {
 #endif
 };
 
+#ifdef COMPILING_RTS_MAIN
+extern DLLIMPORT struct RTS_FLAGS RtsFlags;
+#else
 extern struct RTS_FLAGS RtsFlags;
+#endif
 
 /* Routines that operate-on/to-do-with RTS flags: */
 
@@ -271,8 +281,11 @@ void setupRtsFlags(int *argc, char *argv[], int *rts_argc, char *rts_argv[]);
 #define TIME_FILENAME_FMT      "%0.122s.time"
 #define TIME_FILENAME_FMT_GUM  "%0.118s.%03d.time"
 
-extern int     prog_argc; /* an "int" so as to match normal "argc" */
+/* an "int" so as to match normal "argc" */
+/* Now defined in Stg.h (lib/std/cbits need these too.)
+extern int     prog_argc;
 extern char  **prog_argv;
+*/
 extern int     rts_argc;  /* ditto */
 extern char   *rts_argv[];