From: simonm Date: Fri, 10 Apr 1998 11:35:02 +0000 (+0000) Subject: [project @ 1998-04-10 11:33:12 by simonm] X-Git-Tag: Approx_2487_patches~811 X-Git-Url: http://git.megacz.com/?a=commitdiff_plain;h=a586fca9b8d54f935babca01e1308ac51840f8ae;p=ghc-hetmet.git [project @ 1998-04-10 11:33:12 by simonm] clean up the mess. --- diff --git a/ghc/lib/std/cbits/closeFile.c b/ghc/lib/std/cbits/closeFile.lc similarity index 61% rename from ghc/lib/std/cbits/closeFile.c rename to ghc/lib/std/cbits/closeFile.lc index 90eeb9d..9f4c80e 100644 --- a/ghc/lib/std/cbits/closeFile.c +++ b/ghc/lib/std/cbits/closeFile.lc @@ -1,16 +1,16 @@ -/* - * (c) The GRASP/AQUA Project, Glasgow University, 1994-1998 - * - * $Id: closeFile.c,v 1.1 1998/04/10 10:54:14 simonm Exp $ - * - * hClose Runtime Support - */ - -#include "Rts.h" +% +% (c) The GRASP/AQUA Project, Glasgow University, 1994 +% +\subsection[closeFile.lc]{hClose Runtime Support} + +\begin{code} + +#include "rtsdefs.h" #include "stgio.h" StgInt -closeFile(StgAddr fp) +closeFile(fp) +StgForeignObj fp; { int rc; @@ -29,5 +29,7 @@ closeFile(StgAddr fp) return 0; } +\end{code} + diff --git a/ghc/lib/std/cbits/createDirectory.c b/ghc/lib/std/cbits/createDirectory.lc similarity index 79% rename from ghc/lib/std/cbits/createDirectory.c rename to ghc/lib/std/cbits/createDirectory.lc index 6165518..759e99c 100644 --- a/ghc/lib/std/cbits/createDirectory.c +++ b/ghc/lib/std/cbits/createDirectory.lc @@ -1,12 +1,11 @@ -/* - * (c) The GRASP/AQUA Project, Glasgow University, 1994-1998 - * - * $Id: createDirectory.c,v 1.1 1998/04/10 10:54:16 simonm Exp $ - * - * createDirectory Runtime Support} - */ +% +% (c) The GRASP/AQUA Project, Glasgow University, 1995 +% +\subsection[createDirectory.lc]{createDirectory Runtime Support} -#include "Rts.h" +\begin{code} + +#include "rtsdefs.h" #include "stgio.h" #ifdef HAVE_SYS_TYPES_H @@ -18,7 +17,8 @@ #endif StgInt -createDirectory(StgByteArray path) +createDirectory(path) +StgByteArray path; { int rc; struct stat sb; @@ -54,3 +54,5 @@ createDirectory(StgByteArray path) } return 0; } + +\end{code} diff --git a/ghc/lib/std/cbits/errno.c b/ghc/lib/std/cbits/errno.lc similarity index 98% rename from ghc/lib/std/cbits/errno.c rename to ghc/lib/std/cbits/errno.lc index fc32980..0eaa9d1 100644 --- a/ghc/lib/std/cbits/errno.c +++ b/ghc/lib/std/cbits/errno.lc @@ -1,12 +1,11 @@ -/* - * (c) The GRASP/AQUA Project, Glasgow University, 1994-1998 - * - * $Id: errno.c,v 1.1 1998/04/10 10:54:18 simonm Exp $ - * - * GHC Error Number Conversion - */ +% +% (c) The GRASP/AQUA Project, Glasgow University, 1994 +% +\subsection[errno.lc]{GHC Error Number Conversion} + +\begin{code} -#include "Rts.h" +#include "rtsdefs.h" #include "stgio.h" int ghc_errno = 0; @@ -16,7 +15,7 @@ char *ghc_errstr = NULL; /* Collect all of the grotty #ifdef's in one place. */ -void cvtErrno(void) +void cvtErrno(STG_NO_ARGS) { switch(errno) { #ifdef E2BIG @@ -527,7 +526,7 @@ void cvtErrno(void) } void -stdErrno(void) +stdErrno(STG_NO_ARGS) { switch(ghc_errno) { default: @@ -931,3 +930,5 @@ stdErrno(void) break; } } + +\end{code} diff --git a/ghc/lib/std/cbits/error.h b/ghc/lib/std/cbits/error.h deleted file mode 100644 index 785fadb..0000000 --- a/ghc/lib/std/cbits/error.h +++ /dev/null @@ -1,150 +0,0 @@ -/* - * (c) The GRASP/AQUA Project, Glasgow University, 1994-1998 - * - * $Id: error.h,v 1.1 1998/04/10 10:54:20 simonm Exp $ - * - * Error codes used by the IO subsystem. - */ - -#if !defined(COMPILING_NCG) && !defined(__GLASGOW_HASKELL__) -extern int ghc_errno; -extern int ghc_errtype; -extern char *ghc_errstr; - -void cvtErrno (void); -void stdErrno (void); -#endif - -#define ERR_ALREADYEXISTS 1 -#define ERR_HARDWAREFAULT 2 -#define ERR_ILLEGALOPERATION 3 -#define ERR_INAPPROPRIATETYPE 4 -#define ERR_INTERRUPTED 5 -#define ERR_INVALIDARGUMENT 6 -#define ERR_NOSUCHTHING 7 -#define ERR_OTHERERROR 8 -#define ERR_PERMISSIONDENIED 9 -#define ERR_PROTOCOLERROR 10 -#define ERR_RESOURCEBUSY 11 -#define ERR_RESOURCEEXHAUSTED 12 -#define ERR_RESOURCEVANISHED 13 -#define ERR_SYSTEMERROR 14 -#define ERR_TIMEEXPIRED 15 -#define ERR_UNSATISFIEDCONSTRAINTS 16 -#define ERR_UNSUPPORTEDOPERATION 17 -#define ERR_USERERROR 18 -#define ERR_EOF 19 - -#define GHC_E2BIG -1 -#define GHC_EACCES -2 -#define GHC_EADDRINUSE -3 -#define GHC_EADDRNOTAVAIL -4 -#define GHC_EADV -5 -#define GHC_EAFNOSUPPORT -6 -#define GHC_EAGAIN -7 -#define GHC_EAIO -8 -#define GHC_EALREADY -9 -#define GHC_EBADF -10 -#define GHC_EBADMSG -11 -#define GHC_EBADRPC -12 -#define GHC_EBUSY -13 -#define GHC_ECANCELED -14 -#define GHC_ECHILD -15 -#define GHC_ECLONEME -16 -#define GHC_ECOMM -17 -#define GHC_ECONNABORTED -18 -#define GHC_ECONNREFUSED -19 -#define GHC_ECONNRESET -20 -#define GHC_EDEADLK -21 -#define GHC_EDESTADDRREQ -22 -#define GHC_EDIRTY -23 -#define GHC_EDOM -24 -#define GHC_EDOTDOT -25 -#define GHC_EDQUOT -26 -#define GHC_EDUPPKG -27 -#define GHC_EEXIST -28 -#define GHC_EFAIL -29 -#define GHC_EFAULT -30 -#define GHC_EFBIG -31 -#define GHC_EFTYPE -32 -#define GHC_EHOSTDOWN -33 -#define GHC_EHOSTUNREACH -34 -#define GHC_EIDRM -35 -#define GHC_EILSEQ -36 -#define GHC_EINPROG -37 -#define GHC_EINPROGRESS -38 -#define GHC_EINTR -39 -#define GHC_EINVAL -40 -#define GHC_EIO -41 -#define GHC_EISCONN -42 -#define GHC_EISDIR -43 -#define GHC_ELOOP -44 -#define GHC_EMEDIA -45 -#define GHC_EMFILE -46 -#define GHC_EMLINK -47 -#define GHC_EMSGSIZE -48 -#define GHC_EMTIMERS -49 -#define GHC_EMULTIHOP -50 -#define GHC_ENAMETOOLONG -51 -#define GHC_ENETDOWN -52 -#define GHC_ENETRESET -53 -#define GHC_ENETUNREACH -54 -#define GHC_ENFILE -55 -#define GHC_ENOBUFS -56 -#define GHC_ENODATA -57 -#define GHC_ENODEV -58 -#define GHC_ENOENT -59 -#define GHC_ENOEXEC -60 -#define GHC_ENOLCK -61 -#define GHC_ENOLINK -62 -#define GHC_ENOMEM -63 -#define GHC_ENOMSG -64 -#define GHC_ENONET -65 -#define GHC_ENOPKG -66 -#define GHC_ENOPROTOOPT -67 -#define GHC_ENOSPC -68 -#define GHC_ENOSR -69 -#define GHC_ENOSTR -70 -#define GHC_ENOSYM -71 -#define GHC_ENOSYS -72 -#define GHC_ENOTBLK -73 -#define GHC_ENOTCONN -74 -#define GHC_ENOTDIR -75 -#define GHC_ENOTEMPTY -76 -#define GHC_ENOTSOCK -77 -#define GHC_ENOTSUP -78 -#define GHC_ENOTTY -79 -#define GHC_ENXIO -80 -#define GHC_EOPNOTSUPP -81 -#define GHC_EPERM -82 -#define GHC_EPFNOSUPPORT -83 -#define GHC_EPIPE -84 -#define GHC_EPROCLIM -85 -#define GHC_EPROCUNAVAIL -86 -#define GHC_EPROGMISMATCH -87 -#define GHC_EPROGUNAVAIL -88 -#define GHC_EPROTO -89 -#define GHC_EPROTONOSUPPORT -90 -#define GHC_EPROTOTYPE -91 -#define GHC_ERANGE -92 -#define GHC_ERELOCATED -93 -#define GHC_EREMCHG -94 -#define GHC_EREMOTE -95 -#define GHC_EROFS -96 -#define GHC_ERPCMISMATCH -97 -#define GHC_ERREMOTE -98 -#define GHC_ESHUTDOWN -99 -#define GHC_ESOCKTNOSUPPORT -100 -#define GHC_ESOFT -101 -#define GHC_ESPIPE -102 -#define GHC_ESRCH -103 -#define GHC_ESRMNT -104 -#define GHC_ESTALE -105 -#define GHC_ETIME -106 -#define GHC_ETIMEDOUT -107 -#define GHC_ETOOMANYREFS -108 -#define GHC_ETXTBSY -109 -#define GHC_EUSERS -110 -#define GHC_EVERSION -111 -#define GHC_EWOULDBLOCK -112 -#define GHC_EXDEV -113 diff --git a/ghc/lib/std/cbits/fileEOF.c b/ghc/lib/std/cbits/fileEOF.c deleted file mode 100644 index ba97822..0000000 --- a/ghc/lib/std/cbits/fileEOF.c +++ /dev/null @@ -1,21 +0,0 @@ -/* - * (c) The GRASP/AQUA Project, Glasgow University, 1994-1998 - * - * $Id: fileEOF.c,v 1.1 1998/04/10 10:54:21 simonm Exp $ - * - * hIsEOF Runtime Support - */ - -#include "Rts.h" -#include "stgio.h" - -StgInt -fileEOF(StgAddr fp) -{ - if (fileLookAhead(fp) != EOF) - return 0; - else if (ghc_errtype == ERR_EOF) - return 1; - else - return -1; -} diff --git a/ghc/lib/std/cbits/fileEOF.lc b/ghc/lib/std/cbits/fileEOF.lc new file mode 100644 index 0000000..cdd3eb2 --- /dev/null +++ b/ghc/lib/std/cbits/fileEOF.lc @@ -0,0 +1,23 @@ +% +% (c) The GRASP/AQUA Project, Glasgow University, 1994 +% +\subsection[fileEOF.lc]{hIsEOF Runtime Support} + +\begin{code} + +#include "rtsdefs.h" +#include "stgio.h" + +StgInt +fileEOF(fp) +StgForeignObj fp; +{ + if (fileLookAhead(fp) != EOF) + return 0; + else if (ghc_errtype == ERR_EOF) + return 1; + else + return -1; +} + +\end{code} diff --git a/ghc/lib/std/cbits/fileGetc.c b/ghc/lib/std/cbits/fileGetc.c deleted file mode 100644 index 9c7b33f..0000000 --- a/ghc/lib/std/cbits/fileGetc.c +++ /dev/null @@ -1,36 +0,0 @@ -/* - * (c) The GRASP/AQUA Project, Glasgow University, 1994-1998 - * - * $Id: fileGetc.c,v 1.1 1998/04/10 10:54:22 simonm Exp $ - * - * hGetChar Runtime Support - */ - -#include "Rts.h" -#include "stgio.h" -#include "error.h" - -StgInt -fileGetc(StgAddr fp) -{ - int c; - - if (feof((FILE *)fp)) { - ghc_errtype = ERR_EOF; - ghc_errstr = ""; - return EOF; - } - - /* Try to read a character */ - while ((c = getc((FILE *)fp)) == EOF && errno == EINTR) - clearerr((FILE *)fp); - - if (feof((FILE *)fp)) { - ghc_errtype = ERR_EOF; - ghc_errstr = ""; - } else if (c == EOF) { - cvtErrno(); - stdErrno(); - } - return c; -} diff --git a/ghc/lib/std/cbits/fileGetc.lc b/ghc/lib/std/cbits/fileGetc.lc new file mode 100644 index 0000000..131c956 --- /dev/null +++ b/ghc/lib/std/cbits/fileGetc.lc @@ -0,0 +1,38 @@ +% +% (c) The GRASP/AQUA Project, Glasgow University, 1994 +% +\subsection[fileGetc.lc]{hGetChar Runtime Support} + +\begin{code} + +#include "rtsdefs.h" +#include "stgio.h" +#include "error.h" + +StgInt +fileGetc(fp) +StgForeignObj fp; +{ + int c; + + if (feof((FILE *) fp)) { + ghc_errtype = ERR_EOF; + ghc_errstr = ""; + return EOF; + } + + /* Try to read a character */ + while ((c = getc((FILE *) fp)) == EOF && errno == EINTR) + clearerr((FILE *) fp); + + if (feof((FILE *) fp)) { + ghc_errtype = ERR_EOF; + ghc_errstr = ""; + } else if (c == EOF) { + cvtErrno(); + stdErrno(); + } + return c; +} + +\end{code} diff --git a/ghc/lib/std/cbits/fileLookAhead.c b/ghc/lib/std/cbits/fileLookAhead.c deleted file mode 100644 index 360f119..0000000 --- a/ghc/lib/std/cbits/fileLookAhead.c +++ /dev/null @@ -1,25 +0,0 @@ -/* - * (c) The GRASP/AQUA Project, Glasgow University, 1994-1998 - * - * $Id: fileLookAhead.c,v 1.1 1998/04/10 10:54:24 simonm Exp $ - * - * hLookAhead Runtime Support - */ - -#include "Rts.h" -#include "stgio.h" - -StgInt -fileLookAhead(StgAddr fp) -{ - int c; - - if ((c = fileGetc((FILE *)fp)) == EOF) { - return c; - } else if (ungetc(c, (FILE *)fp) == EOF) { - cvtErrno(); - stdErrno(); - return EOF; - } else - return c; -} diff --git a/ghc/lib/std/cbits/fileLookAhead.lc b/ghc/lib/std/cbits/fileLookAhead.lc new file mode 100644 index 0000000..91a1722 --- /dev/null +++ b/ghc/lib/std/cbits/fileLookAhead.lc @@ -0,0 +1,27 @@ +% +% (c) The GRASP/AQUA Project, Glasgow University, 1994 +% +\subsection[fileLookAhead.lc]{hLookAhead Runtime Support} + +\begin{code} + +#include "rtsdefs.h" +#include "stgio.h" + +StgInt +fileLookAhead(fp) +StgForeignObj fp; +{ + int c; + + if ((c = fileGetc(fp)) == EOF) { + return c; + } else if (ungetc(c, (FILE *) fp) == EOF) { + cvtErrno(); + stdErrno(); + return EOF; + } else + return c; +} + +\end{code} diff --git a/ghc/lib/std/cbits/filePosn.c b/ghc/lib/std/cbits/filePosn.lc similarity index 65% rename from ghc/lib/std/cbits/filePosn.c rename to ghc/lib/std/cbits/filePosn.lc index e8131da..7a0d790 100644 --- a/ghc/lib/std/cbits/filePosn.c +++ b/ghc/lib/std/cbits/filePosn.lc @@ -1,16 +1,16 @@ -/* - * (c) The GRASP/AQUA Project, Glasgow University, 1994-1998 - * - * $Id: filePosn.c,v 1.1 1998/04/10 10:54:25 simonm Exp $ - * - * hGetPosn and hSetPosn Runtime Support - */ - -#include "Rts.h" +% +% (c) The GRASP/AQUA Project, Glasgow University, 1994 +% +\subsection[filePosn.lc]{hGetPosn and hSetPosn Runtime Support} + +\begin{code} + +#include "rtsdefs.h" #include "stgio.h" StgInt -getFilePosn(StgAddr fp) +getFilePosn(fp) +StgForeignObj fp; { StgInt posn; @@ -28,7 +28,9 @@ getFilePosn(StgAddr fp) /* The following is only called with a position that we've already visited */ StgInt -setFilePosn(StgAddr fp, I_ posn) +setFilePosn(fp, posn) +StgForeignObj fp; +StgInt posn; { while (fseek((FILE *) fp, posn, SEEK_SET) != 0) { if (errno != EINTR) { @@ -40,4 +42,7 @@ setFilePosn(StgAddr fp, I_ posn) return 0; } +\end{code} + + diff --git a/ghc/lib/std/cbits/filePutc.c b/ghc/lib/std/cbits/filePutc.lc similarity index 57% rename from ghc/lib/std/cbits/filePutc.c rename to ghc/lib/std/cbits/filePutc.lc index 446304d..980aa63 100644 --- a/ghc/lib/std/cbits/filePutc.c +++ b/ghc/lib/std/cbits/filePutc.lc @@ -1,17 +1,18 @@ -/* - * (c) The GRASP/AQUA Project, Glasgow University, 1994-1998 - * - * $Id: filePutc.c,v 1.1 1998/04/10 10:54:26 simonm Exp $ - * - * hPutChar Runtime Support - */ +% +% (c) The GRASP/AQUA Project, Glasgow University, 1994 +% +\subsection[filePut.lc]{hPutChar Runtime Support} -#include "Rts.h" +\begin{code} + +#include "rtsdefs.h" #include "stgio.h" #include "error.h" StgInt -filePutc(StgAddr fp, I_ c) +filePutc(fp, c) +StgForeignObj fp; +StgInt c; { int rc; @@ -27,3 +28,5 @@ filePutc(StgAddr fp, I_ c) return 0; } + +\end{code} diff --git a/ghc/lib/std/cbits/fileSize.c b/ghc/lib/std/cbits/fileSize.lc similarity index 70% rename from ghc/lib/std/cbits/fileSize.c rename to ghc/lib/std/cbits/fileSize.lc index 3720251..34348fe 100644 --- a/ghc/lib/std/cbits/fileSize.c +++ b/ghc/lib/std/cbits/fileSize.lc @@ -1,12 +1,11 @@ -/* - * (c) The GRASP/AQUA Project, Glasgow University, 1994-1998 - * - * $Id: fileSize.c,v 1.1 1998/04/10 10:54:27 simonm Exp $ - * - * hClose Runtime Support - */ +% +% (c) The GRASP/AQUA Project, Glasgow University, 1994 +% +\subsection[fileSize.lc]{hfileSize Runtime Support} -#include "Rts.h" +\begin{code} + +#include "rtsdefs.h" #include "stgio.h" #ifdef HAVE_SYS_TYPES_H @@ -18,7 +17,9 @@ #endif StgInt -fileSize(StgAddr fp, StgByteArray result) +fileSize(fp, result) +StgForeignObj fp; +StgByteArray result; { struct stat sb; @@ -40,3 +41,5 @@ fileSize(StgAddr fp, StgByteArray result) return -1; } } + +\end{code} diff --git a/ghc/lib/std/cbits/floatExtreme.c b/ghc/lib/std/cbits/floatExtreme.lc similarity index 82% rename from ghc/lib/std/cbits/floatExtreme.c rename to ghc/lib/std/cbits/floatExtreme.lc index 997e6a9..3dbecde 100644 --- a/ghc/lib/std/cbits/floatExtreme.c +++ b/ghc/lib/std/cbits/floatExtreme.lc @@ -1,21 +1,19 @@ -/* - * (c) The GRASP/AQUA Project, Glasgow University, 1994-1998 - * - * $Id: floatExtreme.c,v 1.1 1998/04/10 10:54:28 simonm Exp $ - * - * Stubs to check for extremities of (IEEE) floats, - * the tests have been (artfully) lifted from the hbc-0.9999.3 (lib/fltcode.c) - * source. - */ - -/* +% +% +% + +Stubs to check for extremities of (IEEE) floats, +the tests have been (artfully) lifted from the hbc-0.9999.3 (lib/fltcode.c) +source. + ToDo: - avoid hard-wiring the fact that on an Alpha we repr. a StgFloat as a double. (introduce int equivalent of {ASSIGN,PK}_FLT? ) -*/ -#include "Rts.h" +\begin{code} + +#include "rtsdefs.h" #include "ieee-flpt.h" #include "floatExtreme.h" @@ -30,7 +28,8 @@ ToDo: #ifdef IEEE_FLOATING_POINT StgInt -isDoubleNaN(StgDouble d) +isDoubleNaN(d) +StgDouble d; { union { double d; int i[2]; } u; int hx,lx; @@ -47,7 +46,8 @@ isDoubleNaN(StgDouble d) } StgInt -isDoubleInfinite(StgDouble d) +isDoubleInfinite(d) +StgDouble d; { union { double d; int i[2]; } u; int hx,lx; @@ -62,7 +62,8 @@ isDoubleInfinite(StgDouble d) } StgInt -isDoubleDenormalized(StgDouble d) +isDoubleDenormalized(d) +StgDouble d; { union { double d; int i[2]; } u; int high, iexp; @@ -74,7 +75,8 @@ isDoubleDenormalized(StgDouble d) } StgInt -isDoubleNegativeZero(StgDouble d) +isDoubleNegativeZero(d) +StgDouble d; { union { double d; int i[2]; } u; int high, iexp; @@ -86,7 +88,8 @@ isDoubleNegativeZero(StgDouble d) /* Same tests, this time for StgFloats. */ StgInt -isFloatNaN(StgFloat f) +isFloatNaN(f) +StgFloat f; { #if !defined(alpha_TARGET_OS) /* StgFloat = double on alphas */ @@ -104,7 +107,8 @@ isFloatNaN(StgFloat f) } StgInt -isFloatInfinite(StgFloat f) +isFloatInfinite(f) +StgFloat f; { #if !defined(alpha_TARGET_OS) /* StgFloat = double on alphas */ @@ -121,7 +125,8 @@ isFloatInfinite(StgFloat f) } StgInt -isFloatDenormalized(StgFloat f) +isFloatDenormalized(f) +StgFloat f; { #if !defined(alpha_TARGET_OS) /* StgFloat = double on alphas */ @@ -137,7 +142,8 @@ isFloatDenormalized(StgFloat f) } StgInt -isFloatNegativeZero(StgFloat f) +isFloatNegativeZero(f) +StgFloat f; { #if !defined(alpha_TARGET_OS) /* StgFloat = double on alphas */ @@ -163,3 +169,6 @@ StgInt isFloatDenormalized(f) StgFloat f; { return 0; } StgInt isFloatNegativeZero(f) StgFloat f; { return 0; } #endif + + +\end{code} diff --git a/ghc/lib/std/cbits/flushFile.c b/ghc/lib/std/cbits/flushFile.c deleted file mode 100644 index 54cf106..0000000 --- a/ghc/lib/std/cbits/flushFile.c +++ /dev/null @@ -1,25 +0,0 @@ -/* - * (c) The GRASP/AQUA Project, Glasgow University, 1994-1998 - * - * $Id: flushFile.c,v 1.1 1998/04/10 10:54:30 simonm Exp $ - * - * hFlush Runtime Support - */ - -#include "Rts.h" -#include "stgio.h" - -StgInt -flushFile(StgAddr fp) -{ - int rc; - - while ((rc = fflush((FILE *) fp)) != 0) { - if (errno != EINTR) { - cvtErrno(); - stdErrno(); - return rc; - } - } - return 0; -} diff --git a/ghc/lib/std/cbits/flushFile.lc b/ghc/lib/std/cbits/flushFile.lc new file mode 100644 index 0000000..6cfd484 --- /dev/null +++ b/ghc/lib/std/cbits/flushFile.lc @@ -0,0 +1,30 @@ +% +% (c) The GRASP/AQUA Project, Glasgow University, 1994 +% +\subsection[flushFile.lc]{hFlush Runtime Support} + +\begin{code} + +#include "rtsdefs.h" +#include "stgio.h" + +StgInt +flushFile(fp) +StgForeignObj fp; +{ + int rc; + + while ((rc = fflush((FILE *) fp)) != 0) { + if (errno != EINTR) { + cvtErrno(); + stdErrno(); + return rc; + } + } + return 0; +} + +\end{code} + + + diff --git a/ghc/lib/std/cbits/freeFile.c b/ghc/lib/std/cbits/freeFile.lc similarity index 81% rename from ghc/lib/std/cbits/freeFile.c rename to ghc/lib/std/cbits/freeFile.lc index 751a48f..1ac3d52 100644 --- a/ghc/lib/std/cbits/freeFile.c +++ b/ghc/lib/std/cbits/freeFile.lc @@ -1,12 +1,11 @@ -/* - * (c) The GRASP/AQUA Project, Glasgow University, 1994-1998 - * - * $Id: freeFile.c,v 1.1 1998/04/10 10:54:31 simonm Exp $ - * - * Giving up files - */ - -#include "Rts.h" +% +% (c) The GRASP/AQUA Project, Glasgow University, 1997 +% +\subsection[freeFile.lc]{Giving up files} + +\begin{code} + +#include "rtsdefs.h" #include "stgio.h" /* sigh, the FILEs attached to the standard descriptors are @@ -14,10 +13,12 @@ ForeignObj finaliser, as we probably want to use these before we *really* shut down (dumping stats etc.) */ -void freeStdFile(StgAddr fp) +void freeStdFile(fp) +StgForeignObj fp; { return; } -void freeFile(StgAddr fp) +void freeFile(fp) +StgForeignObj fp; { int rc; @@ -48,3 +49,4 @@ void freeFile(StgAddr fp) return; } +\end{code} diff --git a/ghc/lib/std/cbits/getBufferMode.c b/ghc/lib/std/cbits/getBufferMode.lc similarity index 78% rename from ghc/lib/std/cbits/getBufferMode.c rename to ghc/lib/std/cbits/getBufferMode.lc index a34b317..cb0b984 100644 --- a/ghc/lib/std/cbits/getBufferMode.c +++ b/ghc/lib/std/cbits/getBufferMode.lc @@ -1,12 +1,11 @@ -/* - * (c) The GRASP/AQUA Project, Glasgow University, 1994-1998 - * - * $Id: getBufferMode.c,v 1.1 1998/04/10 10:54:33 simonm Exp $ - * - * hIs...Buffered Runtime Support - */ +% +% (c) The GRASP/AQUA Project, Glasgow University, 1994 +% +\subsection[getBufferMode.lc]{hIs...Buffered Runtime Support} + +\begin{code} -#include "Rts.h" +#include "rtsdefs.h" #include "stgio.h" #ifdef HAVE_SYS_TYPES_H @@ -28,7 +27,8 @@ #define GBM_ERR (-3) StgInt -getBufferMode(StgAddr fp) +getBufferMode(fp) +StgForeignObj fp; { struct stat sb; @@ -48,3 +48,5 @@ getBufferMode(StgAddr fp) else return GBM_BB; } + +\end{code} diff --git a/ghc/lib/std/cbits/getCPUTime.c b/ghc/lib/std/cbits/getCPUTime.lc similarity index 88% rename from ghc/lib/std/cbits/getCPUTime.c rename to ghc/lib/std/cbits/getCPUTime.lc index 250e51c..d3d7b2a 100644 --- a/ghc/lib/std/cbits/getCPUTime.c +++ b/ghc/lib/std/cbits/getCPUTime.lc @@ -1,10 +1,9 @@ -/* - * (c) The GRASP/AQUA Project, Glasgow University, 1994-1998 - * - * $Id: getCPUTime.c,v 1.1 1998/04/10 10:54:34 simonm Exp $ - * - * getCPUTime Runtime Support - */ +% +% (c) The GRASP/AQUA Project, Glasgow University, 1995 +% +\subsection[getCPUTime.lc]{getCPUTime Runtime Support} + +\begin{code} #ifndef _AIX #define NON_POSIX_SOURCE /*needed for solaris2 only?*/ @@ -15,7 +14,7 @@ #define _INCLUDE_HPUX_SOURCE #endif -#include "Rts.h" +#include "rtsdefs.h" #ifdef HAVE_SYS_TYPES_H #include @@ -48,7 +47,7 @@ #endif StgInt -clockTicks (void) +clockTicks () { return ( #if defined(CLK_TCK) @@ -101,5 +100,8 @@ getCPUTime(StgByteArray cpuStruct) return NULL; # endif #endif - return (StgByteArray)cpuStruct; + return (StgByteArray) cpuStruct; } + +\end{code} + diff --git a/ghc/lib/std/cbits/getClockTime.c b/ghc/lib/std/cbits/getClockTime.lc similarity index 85% rename from ghc/lib/std/cbits/getClockTime.c rename to ghc/lib/std/cbits/getClockTime.lc index 9f031bf..b6f42e6 100644 --- a/ghc/lib/std/cbits/getClockTime.c +++ b/ghc/lib/std/cbits/getClockTime.lc @@ -1,16 +1,15 @@ -/* - * (c) The GRASP/AQUA Project, Glasgow University, 1994-1998 - * - * $Id: getClockTime.c,v 1.1 1998/04/10 10:54:35 simonm Exp $ - * - * getClockTime Runtime Support - */ +% +% (c) The GRASP/AQUA Project, Glasgow University, 1995 +% +\subsection[getClockTime.lc]{getClockTime Runtime Support} + +\begin{code} #ifndef _AIX #define NON_POSIX_SOURCE /* gettimeofday */ #endif -#include "Rts.h" +#include "rtsdefs.h" #include "stgio.h" #ifdef HAVE_GETCLOCK @@ -75,3 +74,4 @@ getClockTime(StgByteArray sec, StgByteArray nsec) #endif #endif } +\end{code} diff --git a/ghc/lib/std/cbits/getCurrentDirectory.c b/ghc/lib/std/cbits/getCurrentDirectory.lc similarity index 75% rename from ghc/lib/std/cbits/getCurrentDirectory.c rename to ghc/lib/std/cbits/getCurrentDirectory.lc index a132e0b..4da895a 100644 --- a/ghc/lib/std/cbits/getCurrentDirectory.c +++ b/ghc/lib/std/cbits/getCurrentDirectory.lc @@ -1,12 +1,11 @@ -/* - * (c) The GRASP/AQUA Project, Glasgow University, 1994-1998 - * - * $Id: getCurrentDirectory.c,v 1.1 1998/04/10 10:54:37 simonm Exp $ - * - * getCurrentDirectory Runtime Support - */ +% +% (c) The GRASP/AQUA Project, Glasgow University, 1995 +% +\subsection[getCurrentDirectory.lc]{getCurrentDirectory Runtime Support} -#include "Rts.h" +\begin{code} + +#include "rtsdefs.h" #include "stgio.h" #ifndef PATH_MAX @@ -18,7 +17,7 @@ #endif StgAddr -getCurrentDirectory(void) +getCurrentDirectory(STG_NO_ARGS) { char *pwd; int alloc; @@ -45,3 +44,5 @@ getCurrentDirectory(void) } return (StgAddr) pwd; } + +\end{code} diff --git a/ghc/lib/std/cbits/getDirectoryContents.c b/ghc/lib/std/cbits/getDirectoryContents.lc similarity index 90% rename from ghc/lib/std/cbits/getDirectoryContents.c rename to ghc/lib/std/cbits/getDirectoryContents.lc index d51f760..025aae9 100644 --- a/ghc/lib/std/cbits/getDirectoryContents.c +++ b/ghc/lib/std/cbits/getDirectoryContents.lc @@ -1,12 +1,11 @@ -/* - * (c) The GRASP/AQUA Project, Glasgow University, 1994-1998 - * - * $Id: getDirectoryContents.c,v 1.1 1998/04/10 10:54:38 simonm Exp $ - * - * getDirectoryContents Runtime Support - */ +% +% (c) The GRASP/AQUA Project, Glasgow University, 1995 +% +\subsection[getDirectoryContents.lc]{getDirectoryContents Runtime Support} -#include "Rts.h" +\begin{code} + +#include "rtsdefs.h" #include "stgio.h" #ifdef HAVE_SYS_TYPES_H @@ -45,7 +44,8 @@ freeEntries(char **entries, int count) */ StgAddr -getDirectoryContents(StgByteArray path) +getDirectoryContents(path) +StgByteArray path; { struct stat sb; DIR *dir; @@ -120,3 +120,5 @@ getDirectoryContents(StgByteArray path) } } } + +\end{code} diff --git a/ghc/lib/std/cbits/getLock.c b/ghc/lib/std/cbits/getLock.lc similarity index 87% rename from ghc/lib/std/cbits/getLock.c rename to ghc/lib/std/cbits/getLock.lc index c2b4762..1ed0dbf 100644 --- a/ghc/lib/std/cbits/getLock.c +++ b/ghc/lib/std/cbits/getLock.lc @@ -1,12 +1,11 @@ -/* - * (c) The GRASP/AQUA Project, Glasgow University, 1994-1998 - * - * $Id: getLock.c,v 1.1 1998/04/10 10:54:39 simonm Exp $ - * - * stdin/stout/stderr Runtime Support - */ - -#include "Rts.h" +% +% (c) The GRASP/AQUA Project, Glasgow University, 1994 +% +\subsection[getLock.lc]{stdin/stout/stderr Runtime Support} + +\begin{code} + +#include "rtsdefs.h" #include "stgio.h" #ifdef HAVE_SYS_TYPES_H @@ -42,7 +41,9 @@ static int readLocks = 0; static int writeLocks = 0; int -lockFile(int fd, int exclusive) +lockFile(fd, exclusive) +int fd; +int exclusive; { int i; struct stat sb; @@ -85,7 +86,8 @@ lockFile(int fd, int exclusive) } int -unlockFile(int fd) +unlockFile(fd) +int fd; { int i, rc; @@ -109,7 +111,9 @@ unlockFile(int fd) } StgInt -getLock(StgAddr fp, StgInt exclusive) +getLock(fp, exclusive) +StgForeignObj fp; +StgInt exclusive; { if (lockFile(fileno((FILE *) fp), exclusive) < 0) { if (errno == EBADF) @@ -133,3 +137,4 @@ getLock(StgAddr fp, StgInt exclusive) return 1; } +\end{code} diff --git a/ghc/lib/std/cbits/inputReady.c b/ghc/lib/std/cbits/inputReady.lc similarity index 91% rename from ghc/lib/std/cbits/inputReady.c rename to ghc/lib/std/cbits/inputReady.lc index e987e5a..8baa582 100644 --- a/ghc/lib/std/cbits/inputReady.c +++ b/ghc/lib/std/cbits/inputReady.lc @@ -1,17 +1,16 @@ -/* - * (c) The GRASP/AQUA Project, Glasgow University, 1994-1998 - * - * $Id: inputReady.c,v 1.1 1998/04/10 10:54:40 simonm Exp $ - * - * hReady Runtime Support - */ +% +% (c) The GRASP/AQUA Project, Glasgow University, 1994 +% +\subsection[inputReady.lc]{hReady Runtime Support} + +\begin{code} /* select and supporting types is not */ #ifndef _AIX #define NON_POSIX_SOURCE #endif -#include "Rts.h" +#include "rtsdefs.h" #include "stgio.h" #ifdef HAVE_SYS_TYPES_H @@ -37,7 +36,9 @@ #endif StgInt -inputReady(StgAddr fp, StgInt nsecs) +inputReady(fp, nsecs) +StgForeignObj fp; +StgInt nsecs; { int flags, c, fd, maxfd, ready; fd_set rfd; @@ -121,3 +122,5 @@ inputReady(StgAddr fp, StgInt nsecs) return 1; */ } + +\end{code} diff --git a/ghc/lib/std/cbits/openFile.c b/ghc/lib/std/cbits/openFile.lc similarity index 94% rename from ghc/lib/std/cbits/openFile.c rename to ghc/lib/std/cbits/openFile.lc index d203bbb..4b92aca 100644 --- a/ghc/lib/std/cbits/openFile.c +++ b/ghc/lib/std/cbits/openFile.lc @@ -1,12 +1,11 @@ -/* - * (c) The GRASP/AQUA Project, Glasgow University, 1994-1998 - * - * $Id: openFile.c,v 1.1 1998/04/10 10:54:42 simonm Exp $ - * - * openFile Runtime Support - */ - -#include "Rts.h" +% +% (c) The GRASP/AQUA Project, Glasgow University, 1994 +% +\subsection[openFile.lc]{openFile Runtime Support} + +\begin{code} + +#include "rtsdefs.h" #include "stgio.h" #ifdef HAVE_SYS_TYPES_H @@ -26,7 +25,9 @@ #endif StgAddr -openFile(StgByteArray file, StgByteArray how) +openFile(file, how) +StgByteArray file; +StgByteArray how; { FILE *fp; int fd; @@ -55,7 +56,7 @@ openFile(StgByteArray file, StgByteArray how) break; default: fprintf(stderr, "openFile: unknown mode `%s'\n", how); - exit(EXIT_FAILURE); + EXIT(EXIT_FAILURE); } /* First try to open without creating */ @@ -212,3 +213,5 @@ openFile(StgByteArray file, StgByteArray how) return (StgAddr) fp; } + +\end{code} diff --git a/ghc/lib/std/cbits/readFile.c b/ghc/lib/std/cbits/readFile.lc similarity index 79% rename from ghc/lib/std/cbits/readFile.c rename to ghc/lib/std/cbits/readFile.lc index 2ae839c..0cc9c2c 100644 --- a/ghc/lib/std/cbits/readFile.c +++ b/ghc/lib/std/cbits/readFile.lc @@ -1,18 +1,20 @@ -/* - * (c) The GRASP/AQUA Project, Glasgow University, 1994-1998 - * - * $Id: readFile.c,v 1.1 1998/04/10 10:54:43 simonm Exp $ - * - * hGetContents Runtime Support - */ +% +% (c) The GRASP/AQUA Project, Glasgow University, 1994 +% +\subsection[readFile.lc]{hGetContents Runtime Support} -#include "Rts.h" +\begin{code} + +#include "rtsdefs.h" #include "stgio.h" #define EOT 4 StgInt -readBlock(StgAddr buf, StgAddr fp, StgInt size) +readBlock(buf, fp, size) +StgAddr buf; +StgForeignObj fp; +StgInt size; { int count; @@ -39,7 +41,10 @@ readBlock(StgAddr buf, StgAddr fp, StgInt size) } StgInt -readLine(StgAddr buf, StgAddr fp, StgInt size) +readLine(buf, fp, size) +StgAddr buf; +StgForeignObj fp; +StgInt size; { if (feof((FILE *) fp)) { ghc_errtype = ERR_EOF; @@ -64,7 +69,8 @@ readLine(StgAddr buf, StgAddr fp, StgInt size) } StgInt -readChar(StgAddr fp) +readChar(fp) +StgForeignObj fp; { int c; @@ -92,3 +98,5 @@ readChar(StgAddr fp) else return c; } + +\end{code} diff --git a/ghc/lib/std/cbits/removeDirectory.c b/ghc/lib/std/cbits/removeDirectory.lc similarity index 77% rename from ghc/lib/std/cbits/removeDirectory.c rename to ghc/lib/std/cbits/removeDirectory.lc index 9eb5310..3347fd7 100644 --- a/ghc/lib/std/cbits/removeDirectory.c +++ b/ghc/lib/std/cbits/removeDirectory.lc @@ -1,12 +1,11 @@ -/* - * (c) The GRASP/AQUA Project, Glasgow University, 1994-1998 - * - * $Id: removeDirectory.c,v 1.1 1998/04/10 10:54:44 simonm Exp $ - * - * removeDirectory Runtime Support - */ +% +% (c) The GRASP/AQUA Project, Glasgow University, 1995 +% +\subsection[removeDirectory.lc]{removeDirectory Runtime Support} -#include "Rts.h" +\begin{code} + +#include "rtsdefs.h" #include "stgio.h" #ifdef HAVE_SYS_TYPES_H @@ -18,7 +17,8 @@ #endif StgInt -removeDirectory(StgByteArray path) +removeDirectory(path) +StgByteArray path; { struct stat sb; @@ -53,3 +53,5 @@ removeDirectory(StgByteArray path) } return 0; } + +\end{code} diff --git a/ghc/lib/std/cbits/removeFile.c b/ghc/lib/std/cbits/removeFile.lc similarity index 72% rename from ghc/lib/std/cbits/removeFile.c rename to ghc/lib/std/cbits/removeFile.lc index 12f2e99..095b621 100644 --- a/ghc/lib/std/cbits/removeFile.c +++ b/ghc/lib/std/cbits/removeFile.lc @@ -1,12 +1,11 @@ -/* - * (c) The GRASP/AQUA Project, Glasgow University, 1994-1998 - * - * $Id: removeFile.c,v 1.1 1998/04/10 10:54:45 simonm Exp $ - * - * removeFile Runtime Support - */ +% +% (c) The GRASP/AQUA Project, Glasgow University, 1995 +% +\subsection[removeFile.lc]{removeFile Runtime Support} -#include "Rts.h" +\begin{code} + +#include "rtsdefs.h" #include "stgio.h" #ifdef HAVE_SYS_TYPES_H @@ -18,7 +17,8 @@ #endif StgInt -removeFile(StgByteArray path) +removeFile(path) +StgByteArray path; { struct stat sb; @@ -44,3 +44,5 @@ removeFile(StgByteArray path) } return 0; } + +\end{code} diff --git a/ghc/lib/std/cbits/renameDirectory.c b/ghc/lib/std/cbits/renameDirectory.lc similarity index 69% rename from ghc/lib/std/cbits/renameDirectory.c rename to ghc/lib/std/cbits/renameDirectory.lc index 95c3af1..2a41186 100644 --- a/ghc/lib/std/cbits/renameDirectory.c +++ b/ghc/lib/std/cbits/renameDirectory.lc @@ -1,12 +1,11 @@ -/* - * (c) The GRASP/AQUA Project, Glasgow University, 1994-1998 - * - * $Id: renameDirectory.c,v 1.1 1998/04/10 10:54:47 simonm Exp $ - * - * renameDirectory Runtime Support - */ +% +% (c) The GRASP/AQUA Project, Glasgow University, 1995 +% +\subsection[renameDirectory.lc]{renameDirectory Runtime Support} -#include "Rts.h" +\begin{code} + +#include "rtsdefs.h" #include "stgio.h" #ifdef HAVE_SYS_TYPES_H @@ -18,7 +17,9 @@ #endif StgInt -renameDirectory(StgByteArray opath, StgByteArray npath) +renameDirectory(opath, npath) +StgByteArray opath; +StgByteArray npath; { struct stat sb; @@ -44,3 +45,4 @@ renameDirectory(StgByteArray opath, StgByteArray npath) } return 0; } +\end{code} diff --git a/ghc/lib/std/cbits/renameFile.c b/ghc/lib/std/cbits/renameFile.lc similarity index 91% rename from ghc/lib/std/cbits/renameFile.c rename to ghc/lib/std/cbits/renameFile.lc index c52d575..2bcb9c0 100644 --- a/ghc/lib/std/cbits/renameFile.c +++ b/ghc/lib/std/cbits/renameFile.lc @@ -1,12 +1,11 @@ -/* - * (c) The GRASP/AQUA Project, Glasgow University, 1994-1998 - * - * $Id: renameFile.c,v 1.1 1998/04/10 10:54:48 simonm Exp $ - * - * renameFile Runtime Support - */ +% +% (c) The GRASP/AQUA Project, Glasgow University, 1995 +% +\subsection[renameFile.lc]{renameFile Runtime Support} -#include "Rts.h" +\begin{code} + +#include "rtsdefs.h" #include "stgio.h" #ifdef HAVE_SYS_TYPES_H @@ -22,7 +21,9 @@ #endif StgInt -renameFile(StgByteArray opath, StgByteArray npath) +renameFile(opath, npath) +StgByteArray opath; +StgByteArray npath; { struct stat sb; int fd; @@ -128,3 +129,4 @@ renameFile(StgByteArray opath, StgByteArray npath) close(fd); return 0; } +\end{code} diff --git a/ghc/lib/std/cbits/seekFile.c b/ghc/lib/std/cbits/seekFile.lc similarity index 88% rename from ghc/lib/std/cbits/seekFile.c rename to ghc/lib/std/cbits/seekFile.lc index 2946fe2..48c0cf7 100644 --- a/ghc/lib/std/cbits/seekFile.c +++ b/ghc/lib/std/cbits/seekFile.lc @@ -1,12 +1,11 @@ -/* - * (c) The GRASP/AQUA Project, Glasgow University, 1994-1998 - * - * $Id: seekFile.c,v 1.1 1998/04/10 10:54:49 simonm Exp $ - * - * hSeek and hIsSeekable Runtime Support - */ +% +% (c) The GRASP/AQUA Project, Glasgow University, 1994 +% +\subsection[seekFile.lc]{hSeek and hIsSeekable Runtime Support} -#include "Rts.h" +\begin{code} + +#include "rtsdefs.h" #include "stgio.h" #ifdef HAVE_SYS_TYPES_H @@ -18,7 +17,11 @@ #endif StgInt -seekFile(StgAddr fp, StgInt whence, StgInt size, StgByteArray d) +seekFile(fp, whence, size, d) +StgForeignObj fp; +StgInt whence; +StgInt size; +StgByteArray d; { struct stat sb; long int offset; @@ -102,7 +105,8 @@ seekFile(StgAddr fp, StgInt whence, StgInt size, StgByteArray d) } StgInt -seekFileP(StgAddr fp) +seekFileP(fp) +StgForeignObj fp; { struct stat sb; @@ -124,3 +128,8 @@ seekFileP(StgAddr fp) return 0; } } + +\end{code} + + + diff --git a/ghc/lib/std/cbits/setBuffering.c b/ghc/lib/std/cbits/setBuffering.lc similarity index 89% rename from ghc/lib/std/cbits/setBuffering.c rename to ghc/lib/std/cbits/setBuffering.lc index b8cf413..0169b50 100644 --- a/ghc/lib/std/cbits/setBuffering.c +++ b/ghc/lib/std/cbits/setBuffering.lc @@ -1,12 +1,11 @@ -/* - * (c) The GRASP/AQUA Project, Glasgow University, 1994-1998 - * - * $Id: setBuffering.c,v 1.1 1998/04/10 10:54:51 simonm Exp $ - * - * hSetBuffering Runtime Support - */ - -#include "Rts.h" +% +% (c) The GRASP/AQUA Project, Glasgow University, 1994 +% +\subsection[setBuffering.lc]{hSetBuffering Runtime Support} + +\begin{code} + +#include "rtsdefs.h" #include "stgio.h" #ifdef HAVE_SYS_TYPES_H @@ -30,7 +29,9 @@ #define SB_BB (-2) StgInt -setBuffering(StgAddr fp, StgInt size) +setBuffering(fp, size) +StgForeignObj fp; +StgInt size; { int flags; int input; @@ -118,3 +119,5 @@ setBuffering(StgAddr fp, StgInt size) } return 0; } + +\end{code} diff --git a/ghc/lib/std/cbits/setCurrentDirectory.c b/ghc/lib/std/cbits/setCurrentDirectory.c deleted file mode 100644 index 60fbdaf..0000000 --- a/ghc/lib/std/cbits/setCurrentDirectory.c +++ /dev/null @@ -1,23 +0,0 @@ -/* - * (c) The GRASP/AQUA Project, Glasgow University, 1994-1998 - * - * $Id: setCurrentDirectory.c,v 1.1 1998/04/10 10:54:52 simonm Exp $ - * - * setCurrentDirectory Runtime Support - */ - -#include "Rts.h" -#include "stgio.h" - -StgInt -setCurrentDirectory(StgByteArray path) -{ - while (chdir(path) != 0) { - if (errno != EINTR) { - cvtErrno(); - stdErrno(); - return -1; - } - } - return 0; -} diff --git a/ghc/lib/std/cbits/setCurrentDirectory.lc b/ghc/lib/std/cbits/setCurrentDirectory.lc new file mode 100644 index 0000000..96fdf59 --- /dev/null +++ b/ghc/lib/std/cbits/setCurrentDirectory.lc @@ -0,0 +1,25 @@ +% +% (c) The GRASP/AQUA Project, Glasgow University, 1995 +% +\subsection[setCurrentDirectory.lc]{setCurrentDirectory Runtime Support} + +\begin{code} + +#include "rtsdefs.h" +#include "stgio.h" + +StgInt +setCurrentDirectory(path) +StgByteArray path; +{ + while (chdir(path) != 0) { + if (errno != EINTR) { + cvtErrno(); + stdErrno(); + return -1; + } + } + return 0; +} + +\end{code} diff --git a/ghc/lib/std/cbits/showTime.c b/ghc/lib/std/cbits/showTime.lc similarity index 83% rename from ghc/lib/std/cbits/showTime.c rename to ghc/lib/std/cbits/showTime.lc index 3e2bfd7..08adcd5 100644 --- a/ghc/lib/std/cbits/showTime.c +++ b/ghc/lib/std/cbits/showTime.lc @@ -1,12 +1,11 @@ -/* - * (c) The GRASP/AQUA Project, Glasgow University, 1994-1998 - * - * $Id: showTime.c,v 1.1 1998/04/10 10:54:53 simonm Exp $ - * - * ClockTime.showsPrec Runtime Support - */ +% +% (c) The GRASP/AQUA Project, Glasgow University, 1995 +% +\subsection[showTime.lc]{ClockTime.showsPrec Runtime Support} -#include "Rts.h" +\begin{code} + +#include "rtsdefs.h" #include "stgio.h" #if TIME_WITH_SYS_TIME @@ -49,3 +48,4 @@ showTime(I_ size, StgByteArray d, StgByteArray buf) return (StgAddr)buf; return (StgAddr)strcpy(buf, "ClockTime.show{LibTime}: internal error"); } +\end{code} diff --git a/ghc/lib/std/cbits/system.c b/ghc/lib/std/cbits/system.lc similarity index 86% rename from ghc/lib/std/cbits/system.c rename to ghc/lib/std/cbits/system.lc index aff3a88..924c8d4 100644 --- a/ghc/lib/std/cbits/system.c +++ b/ghc/lib/std/cbits/system.lc @@ -1,12 +1,11 @@ -/* - * (c) The GRASP/AQUA Project, Glasgow University, 1994-1998 - * - * $Id: system.c,v 1.1 1998/04/10 10:54:55 simonm Exp $ - * - * system Runtime Support - */ +% +% (c) The GRASP/AQUA Project, Glasgow University, 1995 +% +\subsection[system.lc]{system Runtime Support} -#include "Rts.h" +\begin{code} + +#include "rtsdefs.h" #include "stgio.h" #ifdef HAVE_SYS_WAIT_H @@ -22,7 +21,8 @@ #endif StgInt -systemCmd(StgByteArray cmd) +systemCmd(cmd) +StgByteArray cmd; { #if defined(cygwin32_TARGET_OS) /* The implementation of std. fork() has its problems @@ -77,3 +77,5 @@ systemCmd(StgByteArray cmd) return -1; #endif } + +\end{code} diff --git a/ghc/lib/std/cbits/toClockSec.c b/ghc/lib/std/cbits/toClockSec.lc similarity index 75% rename from ghc/lib/std/cbits/toClockSec.c rename to ghc/lib/std/cbits/toClockSec.lc index 3d4a5d1..3107ae3 100644 --- a/ghc/lib/std/cbits/toClockSec.c +++ b/ghc/lib/std/cbits/toClockSec.lc @@ -1,12 +1,11 @@ -/* - * (c) The GRASP/AQUA Project, Glasgow University, 1994-1998 - * - * $Id: toClockSec.c,v 1.1 1998/04/10 10:54:57 simonm Exp $ - * - * toClockSec Runtime Support - */ +% +% (c) The GRASP/AQUA Project, Glasgow University, 1995 +% +\subsection[toClockSec.lc]{toClockSec Runtime Support} -#include "Rts.h" +\begin{code} + +#include "rtsdefs.h" #include "timezone.h" #include "stgio.h" @@ -39,3 +38,4 @@ toClockSec(I_ year, I_ mon, I_ mday, I_ hour, I_ min, I_ sec, I_ isdst, StgByteA *(time_t *)res = t; return res; } +\end{code} diff --git a/ghc/lib/std/cbits/toLocalTime.c b/ghc/lib/std/cbits/toLocalTime.lc similarity index 87% rename from ghc/lib/std/cbits/toLocalTime.c rename to ghc/lib/std/cbits/toLocalTime.lc index 6e775b7..11a1e30 100644 --- a/ghc/lib/std/cbits/toLocalTime.c +++ b/ghc/lib/std/cbits/toLocalTime.lc @@ -1,12 +1,11 @@ -/* - * (c) The GRASP/AQUA Project, Glasgow University, 1994-1998 - * - * $Id: toLocalTime.c,v 1.1 1998/04/10 10:54:58 simonm Exp $ - * - * toCalendarTime Runtime Support - */ +% +% (c) The GRASP/AQUA Project, Glasgow University, 1995 +% +\subsection[toLocalTime.lc]{toCalendarTime Runtime Support} -#include "Rts.h" +\begin{code} + +#include "rtsdefs.h" #include "timezone.h" #include "stgio.h" @@ -65,3 +64,4 @@ toLocalTime(I_ size, StgByteArray d, StgByteArray res) return (StgAddr)res; } +\end{code} diff --git a/ghc/lib/std/cbits/toUTCTime.c b/ghc/lib/std/cbits/toUTCTime.lc similarity index 88% rename from ghc/lib/std/cbits/toUTCTime.c rename to ghc/lib/std/cbits/toUTCTime.lc index 80c41a3..86f449e 100644 --- a/ghc/lib/std/cbits/toUTCTime.c +++ b/ghc/lib/std/cbits/toUTCTime.lc @@ -1,12 +1,11 @@ -/* - * (c) The GRASP/AQUA Project, Glasgow University, 1994-1998 - * - * $Id: toUTCTime.c,v 1.1 1998/04/10 10:54:59 simonm Exp $ - * - * toUTCTime Runtime Support - */ +% +% (c) The GRASP/AQUA Project, Glasgow University, 1995 +% +\subsection[toUTCTime.lc]{toUTCTime Runtime Support} -#include "Rts.h" +\begin{code} + +#include "rtsdefs.h" #include "timezone.h" #include "stgio.h" @@ -70,3 +69,4 @@ toUTCTime(I_ size, StgByteArray d, StgByteArray res) return (StgAddr)res; } +\end{code} diff --git a/ghc/lib/std/cbits/writeFile.c b/ghc/lib/std/cbits/writeFile.lc similarity index 69% rename from ghc/lib/std/cbits/writeFile.c rename to ghc/lib/std/cbits/writeFile.lc index 65e1f95..80b946f 100644 --- a/ghc/lib/std/cbits/writeFile.c +++ b/ghc/lib/std/cbits/writeFile.lc @@ -1,16 +1,18 @@ -/* - * (c) The GRASP/AQUA Project, Glasgow University, 1994-1998 - * - * $Id: writeFile.c,v 1.1 1998/04/10 10:55:00 simonm Exp $ - * - * hPutStr Runtime Support - */ - -#include "Rts.h" +% +% (c) The GRASP/AQUA Project, Glasgow University, 1994 +% +\subsection[writeFile.lc]{hPutStr Runtime Support} + +\begin{code} + +#include "rtsdefs.h" #include "stgio.h" StgInt -writeFile(StgAddr buf, StgAddr fp, StgInt bytes) +writeFile(buf, fp, bytes) +StgAddr buf; +StgForeignObj fp; +StgInt bytes; { int count; char *p = (char *) buf; @@ -35,7 +37,11 @@ writeFile(StgAddr buf, StgAddr fp, StgInt bytes) StgInt -writeBuf(StgAddr fp, W_ elt_sz, I_ len, StgAddr buf) +writeBuf(fp, elt_sz, len, buf) +StgForeignObj fp; +StgWord elt_sz; +StgInt len; +StgAddr buf; { int count; char *p = (char *) buf; @@ -57,3 +63,5 @@ writeBuf(StgAddr fp, W_ elt_sz, I_ len, StgAddr buf) return 0; } + +\end{code}