From b200c258f517f957d8aa6d579a006dfa7b932edb Mon Sep 17 00:00:00 2001
From: andre <unknown>
Date: Mon, 21 Jul 1997 12:00:04 +0000
Subject: [PATCH] [project @ 1997-07-21 11:57:04 by andre] Parallel 2.04
 patches

---
 ghc/driver/Makefile           | 3 +--
 ghc/includes/LLC.h            | 2 +-
 ghc/lib/ghc/ConcBase.lhs      | 2 +-
 ghc/runtime/Makefile          | 4 ++--
 ghc/runtime/storage/SMinit.lc | 2 ++
 5 files changed, 7 insertions(+), 6 deletions(-)

diff --git a/ghc/driver/Makefile b/ghc/driver/Makefile
index 8db4b8d4b441..9b2a49e4f060 100644
--- a/ghc/driver/Makefile
+++ b/ghc/driver/Makefile
@@ -1,5 +1,5 @@
 #-----------------------------------------------------------------------------
-# $Id: Makefile,v 1.7 1997/07/21 11:31:42 andre Exp $
+# $Id: Makefile,v 1.8 1997/07/21 11:57:04 andre Exp $
 
 TOP=..
 CURRENT_DIR=ghc/driver
@@ -137,7 +137,6 @@ WAY_mt_HC_OPTS+=-fstack-check -fconcurrent -fticky-ticky -D__CONCURRENT_HASKELL_
 # Way `mp': 
 WAY_mp_NAME=parallel
 WAY_mp_HC_OPTS+=-fstack-check -fconcurrent -D__PARALLEL_HASKELL__ -DPAR -optcpp-D__PARALLEL_HASKELL__ -optc-DPAR -optc-DCONCURRENT
-# try WAY_mp_HC_OPTS+=-fstack-check -fconcurrent -D__PARALLEL_HASKELL__ -DPAR -optcpp-D__CONCURRENT_HASKELL__ -optc-DPAR -optc-DCONCURRENT
 
 #
 # Way `mg': 
diff --git a/ghc/includes/LLC.h b/ghc/includes/LLC.h
index d8550f40ca88..737af9b8250b 100644
--- a/ghc/includes/LLC.h
+++ b/ghc/includes/LLC.h
@@ -84,7 +84,7 @@ void get_opcode_and_sender PROTO((PACKET p, OPCODE *popcode, GLOBAL_TASK_ID *pse
 GLOBAL_TASK_ID *PEStartUp PROTO((unsigned nPEs));
 void PEShutDown(STG_NO_ARGS);
 
-void (*ExceptionHandler) PROTO((PACKET));
+extern void (*ExceptionHandler) PROTO((PACKET));
 
 #endif /*PAR */
 #endif /*defined __LLC_H */
diff --git a/ghc/lib/ghc/ConcBase.lhs b/ghc/lib/ghc/ConcBase.lhs
index 64ac7dd3fe21..5763723be466 100644
--- a/ghc/lib/ghc/ConcBase.lhs
+++ b/ghc/lib/ghc/ConcBase.lhs
@@ -67,7 +67,7 @@ par, fork :: Eval a => a -> b -> b
 {-# INLINE par  #-}
 {-# INLINE fork #-}
 
-#ifdef __CONCURRENT_HASKELL__
+#if defined(__PARALLEL_HASKELL__) || defined (__GRANSIM__)
 par  x y = case (par#  x) of { 0# -> parError; _ -> y }
 fork x y = case (fork# x) of { 0# -> parError; _ -> y }
 #else
diff --git a/ghc/runtime/Makefile b/ghc/runtime/Makefile
index 8a225b6cec66..7c2abf57c2e0 100644
--- a/ghc/runtime/Makefile
+++ b/ghc/runtime/Makefile
@@ -1,5 +1,5 @@
 #-----------------------------------------------------------------------------
-# $Id: Makefile,v 1.7 1997/05/27 05:58:46 sof Exp $
+# $Id: Makefile,v 1.8 1997/07/21 12:00:03 andre Exp $
 
 #  This is the Makefile for the runtime-system stuff.
 #  This stuff is written in C (and cannot be written in Haskell).
@@ -237,7 +237,7 @@ endif
 
 gum/SysMan : gum/SysMan.mp_o gum/LLComms.mp_o main/Mallocs.o hooks/OutOfVM.o
 	$(RM) $@
-	$(HC) $(HC_OPTS) -o $@ gum/SysMan.mp_o gum/LLComms.mp_o main/Mallocs.o hooks/OutOfVM.o -L$$PVM_ROOT/lib/$$PVM_ARCH -lpvm3 -lgpvm3 $(__socket_libs)
+	gcc -o $@ gum/SysMan.mp_o gum/LLComms.mp_o main/Mallocs.o hooks/OutOfVM.o -L$$PVM_ROOT/lib/$$PVM_ARCH -lpvm3 -lgpvm3 $(__socket_libs)
 
 CLEAN_FILES  += gum/SysMan.mp_o gum/SysMan
 INSTALL_LIBS += gum/SysMan
diff --git a/ghc/runtime/storage/SMinit.lc b/ghc/runtime/storage/SMinit.lc
index 2693f10ded85..586c3482d8ed 100644
--- a/ghc/runtime/storage/SMinit.lc
+++ b/ghc/runtime/storage/SMinit.lc
@@ -23,9 +23,11 @@ A filehandle to which any storage-manager statistics should be written.
 rtsBool
 exitSM (smInfo *sm_info)
 {
+#ifndef PAR
     int rc;
      /* Upon closing down the storage manager, we free all foreign objects */
     rc = freeForeigns(sm_info->ForeignObjList);
+#endif
      /* Return code ignored for now */
     stat_exit(sm_info->hp - hp_start);
 
-- 
GitLab