projects
/
ghc-hetmet.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
[project @ 2003-02-04 12:28:22 by simonpj]
[ghc-hetmet.git]
/
ghc
/
includes
/
TailCalls.h
diff --git
a/ghc/includes/TailCalls.h
b/ghc/includes/TailCalls.h
index
2d3f36c
..
1f562eb
100644
(file)
--- a/
ghc/includes/TailCalls.h
+++ b/
ghc/includes/TailCalls.h
@@
-1,5
+1,5
@@
/* -----------------------------------------------------------------------------
/* -----------------------------------------------------------------------------
- * $Id: TailCalls.h,v 1.10 2002/06/03 13:08:41 matthewc Exp $
+ * $Id: TailCalls.h,v 1.12 2003/01/06 13:11:26 simonmar Exp $
*
* (c) The GHC Team, 1998-1999
*
*
* (c) The GHC Team, 1998-1999
*
@@
-51,10
+51,10
@@
extern void __DISCARD__(void);
#define JMP_(cont) \
{ \
#define JMP_(cont) \
{ \
- void *target; \
+ void *__target; \
__DISCARD__(); \
__DISCARD__(); \
- target = (void *)(cont); \
- goto *target; \
+ __target = (void *)(cont); \
+ goto *__target; \
}
#endif /* i386_TARGET_ARCH */
}
#endif /* i386_TARGET_ARCH */
@@
-85,9
+85,10
@@
extern void __DISCARD__(void);
register void *_procedure __asm__("$27");
register void *_procedure __asm__("$27");
-#define JMP_(cont) \
- do { _procedure = (void *)(cont); \
- goto *_procedure; \
+#define JMP_(cont) \
+ do { _procedure = (void *)(cont); \
+ __DISCARD__(); \
+ goto *_procedure; \
} while(0)
/* Don't need these for alpha mangling */
} while(0)
/* Don't need these for alpha mangling */