summaryrefslogtreecommitdiff
path: root/ghc/includes/TailCalls.h
diff options
context:
space:
mode:
authorsimonmar <unknown>2005-11-19 11:44:32 +0000
committersimonmar <unknown>2005-11-19 11:44:32 +0000
commite5b39b0cac9aecde8a58f2c65425e8bc6db385ac (patch)
tree8a84f5fad7a2a6b4e16919a0a17def49126824c5 /ghc/includes/TailCalls.h
parent942818de37045d594591c482deefed6a13c35053 (diff)
downloadhaskell-e5b39b0cac9aecde8a58f2c65425e8bc6db385ac.tar.gz
[project @ 2005-11-19 11:44:32 by simonmar]
something has gone wrong; I don't have time right now to find out exactly what, so revert rev. 1.22 in an attempt to fix it.
Diffstat (limited to 'ghc/includes/TailCalls.h')
-rw-r--r--ghc/includes/TailCalls.h14
1 files changed, 2 insertions, 12 deletions
diff --git a/ghc/includes/TailCalls.h b/ghc/includes/TailCalls.h
index 53db254b66..670da9546f 100644
--- a/ghc/includes/TailCalls.h
+++ b/ghc/includes/TailCalls.h
@@ -249,8 +249,6 @@ but uses $$dyncall if necessary to cope, just in case you aren't.
function and these markers is shredded by the mangler.
-------------------------------------------------------------------------- */
-#ifndef FB_
-#if __GNUC__ < 3
/* The following __DISCARD__() has become necessary with gcc 2.96 on x86.
* It prevents gcc from moving stack manipulation code from the function
* body (aka the Real Code) into the function prologue, ie, from moving it
@@ -260,17 +258,9 @@ but uses $$dyncall if necessary to cope, just in case you aren't.
* it just doesn't choose to do it at the moment.
* -= chak
*/
+
+#ifndef FB_
#define FB_ __asm__ volatile ("--- BEGIN ---"); __DISCARD__ ();
-#else
-/* The __DISCARD__() doesn't appear to be necessary with gcc >= 3.2 at
- * least, and it does cause some difficulty, preventing gcc from
- * optimising around the beginning of the function. In particular,
- * gcc leaves some stack assignments in the prologue when the call is
- * present. --SDM
-
- */
-#define FB_ __asm__ volatile ("--- BEGIN ---");
-#endif
#endif
#ifndef FE_