[project @ 2001-02-09 12:09:33 by simonmar]
authorsimonmar <unknown>
Fri, 9 Feb 2001 12:09:33 +0000 (12:09 +0000)
committersimonmar <unknown>
Fri, 9 Feb 2001 12:09:33 +0000 (12:09 +0000)
Declare the 3rd argument to startupHaskell as a function pointer
rather than a void *, to avoid accidental mis-declarations of
__init_Foo symbols.

ghc/includes/RtsAPI.h
ghc/rts/RtsStartup.c

index 8baf34f..6b249a8 100644 (file)
@@ -1,5 +1,5 @@
 /* ----------------------------------------------------------------------------
- * $Id: RtsAPI.h,v 1.19 2001/01/11 17:25:56 simonmar Exp $
+ * $Id: RtsAPI.h,v 1.20 2001/02/09 12:09:33 simonmar Exp $
  *
  * (c) The GHC Team, 1998-1999
  *
@@ -28,7 +28,8 @@ typedef StgClosure *HaskellObj;
 /* ----------------------------------------------------------------------------
    Starting up and shutting down the Haskell RTS.
    ------------------------------------------------------------------------- */
-extern void startupHaskell         ( int argc, char *argv[], void *init_root );
+extern void startupHaskell         ( int argc, char *argv[], 
+                                    void (*init_root)(void) );
 extern void shutdownHaskell        ( void );
 extern void shutdownHaskellAndExit ( int exitCode );
 extern void setProgArgv            ( int argc, char *argv[] );
index af3d86f..9bdc155 100644 (file)
@@ -1,5 +1,5 @@
 /* -----------------------------------------------------------------------------
- * $Id: RtsStartup.c,v 1.46 2000/12/19 14:30:58 simonmar Exp $
+ * $Id: RtsStartup.c,v 1.47 2001/02/09 12:09:33 simonmar Exp $
  *
  * (c) The GHC Team, 1998-2000
  *
@@ -59,7 +59,7 @@ static ullong startTime = 0;
 #endif
 
 EXTFUN(__init_Prelude);
-static void initModules ( void * );
+static void initModules ( void (*)(void) );
 
 void
 setProgArgv(int argc, char *argv[])
@@ -82,7 +82,7 @@ getProgArgv(int *argc, char **argv[])
 
 
 void
-startupHaskell(int argc, char *argv[], void *init_root)
+startupHaskell(int argc, char *argv[], void (*init_root)(void))
 {
     /* To avoid repeated initialisations of the RTS */
    if (rts_has_started_up)
@@ -244,7 +244,7 @@ nat init_sp = 0;
 
 #ifndef INTERPRETER
 static void
-initModules ( void *init_root )
+initModules ( void (*init_root)(void) )
 {
 #ifdef SMP
     Capability cap;