projects
/
ghc-hetmet.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
f2b02ce
)
Fix C/Haskell type mismatches
author
Ian Lynagh
<igloo@earth.li>
Tue, 3 Apr 2007 19:53:24 +0000
(19:53 +0000)
committer
Ian Lynagh
<igloo@earth.li>
Tue, 3 Apr 2007 19:53:24 +0000
(19:53 +0000)
compiler/basicTypes/UniqSupply.lhs
patch
|
blob
|
history
includes/RtsExternal.h
patch
|
blob
|
history
rts/RtsUtils.c
patch
|
blob
|
history
rts/Threads.c
patch
|
blob
|
history
rts/posix/Signals.c
patch
|
blob
|
history
rts/win32/ThrIOManager.c
patch
|
blob
|
history
diff --git
a/compiler/basicTypes/UniqSupply.lhs
b/compiler/basicTypes/UniqSupply.lhs
index
7937043
..
710fc03
100644
(file)
--- a/
compiler/basicTypes/UniqSupply.lhs
+++ b/
compiler/basicTypes/UniqSupply.lhs
@@
-73,15
+73,15
@@
mkSplitUniqSupply (C# c#)
-- This is one of the most hammered bits in the whole compiler
mk_supply#
= unsafeInterleaveIO (
-- This is one of the most hammered bits in the whole compiler
mk_supply#
= unsafeInterleaveIO (
- genSymZh >>= \ (W# u#) ->
+ genSymZh >>= \ (I# u#) ->
mk_supply# >>= \ s1 ->
mk_supply# >>= \ s2 ->
mk_supply# >>= \ s1 ->
mk_supply# >>= \ s2 ->
- return (MkSplitUniqSupply (w2i (mask# `or#` u#)) s1 s2)
+ return (MkSplitUniqSupply (w2i (mask# `or#` (i2w u#))) s1 s2)
)
in
mk_supply#
)
in
mk_supply#
-foreign import ccall unsafe "genSymZh" genSymZh :: IO Word
+foreign import ccall unsafe "genSymZh" genSymZh :: IO Int
splitUniqSupply (MkSplitUniqSupply _ s1 s2) = (s1, s2)
\end{code}
splitUniqSupply (MkSplitUniqSupply _ s1 s2) = (s1, s2)
\end{code}
diff --git
a/includes/RtsExternal.h
b/includes/RtsExternal.h
index
37a9bd4
..
3a3626b
100644
(file)
--- a/
includes/RtsExternal.h
+++ b/
includes/RtsExternal.h
@@
-26,8
+26,8
@@
extern void newCAF(StgClosure*);
#endif
/* ToDo: remove? */
#endif
/* ToDo: remove? */
-extern I_ genSymZh(void);
-extern I_ resetGenSymZh(void);
+extern HsInt genSymZh(void);
+extern HsInt resetGenSymZh(void);
/* Alternate to raise(3) for threaded rts, for OpenBSD */
extern int genericRaise(int sig);
/* Alternate to raise(3) for threaded rts, for OpenBSD */
extern int genericRaise(int sig);
@@
-37,7
+37,7
@@
extern int cmp_thread(StgPtr tso1, StgPtr tso2);
extern int rts_getThreadId(StgPtr tso);
extern int forkOS_createThread ( HsStablePtr entry );
extern StgInt forkProcess(HsStablePtr *entry);
extern int rts_getThreadId(StgPtr tso);
extern int forkOS_createThread ( HsStablePtr entry );
extern StgInt forkProcess(HsStablePtr *entry);
-extern StgBool rtsSupportsBoundThreads(void);
+extern HsBool rtsSupportsBoundThreads(void);
extern StgInt newSpark (StgRegTable *reg, StgClosure *p);
/* grimy low-level support functions defined in StgPrimFloat.c */
extern StgInt newSpark (StgRegTable *reg, StgClosure *p);
/* grimy low-level support functions defined in StgPrimFloat.c */
@@
-86,9
+86,9
@@
extern StgInt *signal_handlers;
#endif
#if defined(mingw32_HOST_OS)
#endif
#if defined(mingw32_HOST_OS)
-void *getIOManagerEvent (void);
-StgWord32 readIOManagerEvent (void);
-void sendIOManagerEvent (StgWord32 event);
+HANDLE getIOManagerEvent (void);
+HsWord32 readIOManagerEvent (void);
+void sendIOManagerEvent (HsWord32 event);
#else
extern void setIOManagerPipe (int fd);
#endif
#else
extern void setIOManagerPipe (int fd);
#endif
diff --git
a/rts/RtsUtils.c
b/rts/RtsUtils.c
index
a62a459
..
7048e94
100644
(file)
--- a/
rts/RtsUtils.c
+++ b/
rts/RtsUtils.c
@@
-298,14
+298,14
@@
nat stg_strlen(char *s)
ToDo: put this somewhere sensible.
------------------------------------------------------------------------- */
ToDo: put this somewhere sensible.
------------------------------------------------------------------------- */
-static I_ __GenSymCounter = 0;
+static HsInt __GenSymCounter = 0;
-I_
+HsInt
genSymZh(void)
{
return(__GenSymCounter++);
}
genSymZh(void)
{
return(__GenSymCounter++);
}
-I_
+HsInt
resetGenSymZh(void) /* it's your funeral */
{
__GenSymCounter=0;
resetGenSymZh(void) /* it's your funeral */
{
__GenSymCounter=0;
diff --git
a/rts/Threads.c
b/rts/Threads.c
index
d2cac62
..
d7b5f41
100644
(file)
--- a/
rts/Threads.c
+++ b/
rts/Threads.c
@@
-657,13
+657,13
@@
awakenBlockedQueue(Capability *cap, StgTSO *tso)
* used by Control.Concurrent for error checking.
* ------------------------------------------------------------------------- */
* used by Control.Concurrent for error checking.
* ------------------------------------------------------------------------- */
-StgBool
+HsBool
rtsSupportsBoundThreads(void)
{
#if defined(THREADED_RTS)
rtsSupportsBoundThreads(void)
{
#if defined(THREADED_RTS)
- return rtsTrue;
+ return HS_BOOL_TRUE;
#else
#else
- return rtsFalse;
+ return HS_BOOL_FALSE;
#endif
}
#endif
}
diff --git
a/rts/posix/Signals.c
b/rts/posix/Signals.c
index
4ae22cd
..
abbb97a
100644
(file)
--- a/
rts/posix/Signals.c
+++ b/
rts/posix/Signals.c
@@
-41,7
+41,7
@@
* to POSIX.1 to control whether or not to include SA_NOCLDSTOP when
* installing a SIGCHLD handler.
*/
* to POSIX.1 to control whether or not to include SA_NOCLDSTOP when
* installing a SIGCHLD handler.
*/
-StgInt nocldstop = 0;
+HsInt nocldstop = 0;
/* -----------------------------------------------------------------------------
* The table of signal handlers
/* -----------------------------------------------------------------------------
* The table of signal handlers
diff --git
a/rts/win32/ThrIOManager.c
b/rts/win32/ThrIOManager.c
index
b0da0de
..
76747c2
100644
(file)
--- a/
rts/win32/ThrIOManager.c
+++ b/
rts/win32/ThrIOManager.c
@@
-59,20
+59,20
@@
nat next_event;
\r
#endif
\r
\r
\r
#endif
\r
\r
-StgWord32
\r
+HsWord32
\r
readIOManagerEvent (void)
\r
{
\r
// This function must exist even in non-THREADED_RTS,
\r
// see getIOManagerEvent() above.
\r
#if defined(THREADED_RTS)
\r
readIOManagerEvent (void)
\r
{
\r
// This function must exist even in non-THREADED_RTS,
\r
// see getIOManagerEvent() above.
\r
#if defined(THREADED_RTS)
\r
- StgWord32 res;
\r
+ HsWord32 res;
\r
\r
ACQUIRE_LOCK(&event_buf_mutex);
\r
if (io_manager_event != INVALID_HANDLE_VALUE) {
\r
if (next_event == 0) {
\r
res = 0; // no event to return
\r
} else {
\r
\r
ACQUIRE_LOCK(&event_buf_mutex);
\r
if (io_manager_event != INVALID_HANDLE_VALUE) {
\r
if (next_event == 0) {
\r
res = 0; // no event to return
\r
} else {
\r
- res = event_buf[--next_event];
\r
+ res = (HsWord32)(event_buf[--next_event]);
\r
if (next_event == 0) {
\r
if (!ResetEvent(io_manager_event)) {
\r
sysErrorBelch("readIOManagerEvent");
\r
if (next_event == 0) {
\r
if (!ResetEvent(io_manager_event)) {
\r
sysErrorBelch("readIOManagerEvent");
\r
@@
-92,7
+92,7
@@
readIOManagerEvent (void)
}
\r
\r
void
\r
}
\r
\r
void
\r
-sendIOManagerEvent (StgWord32 event)
\r
+sendIOManagerEvent (HsWord32 event)
\r
{
\r
#if defined(THREADED_RTS)
\r
// debugBelch("sendIOManagerEvent: %d\n", event);
\r
{
\r
#if defined(THREADED_RTS)
\r
// debugBelch("sendIOManagerEvent: %d\n", event);
\r
@@
-105,7
+105,7
@@
sendIOManagerEvent (StgWord32 event)
sysErrorBelch("sendIOManagerEvent");
\r
stg_exit(EXIT_FAILURE);
\r
}
\r
sysErrorBelch("sendIOManagerEvent");
\r
stg_exit(EXIT_FAILURE);
\r
}
\r
- event_buf[next_event++] = event;
\r
+ event_buf[next_event++] = (StgWord32)event;
\r
}
\r
}
\r
RELEASE_LOCK(&event_buf_mutex);
\r
}
\r
}
\r
RELEASE_LOCK(&event_buf_mutex);
\r