summaryrefslogtreecommitdiff
path: root/boehm-gc/mach_dep.c
diff options
context:
space:
mode:
authorhboehm <hboehm@138bc75d-0d04-0410-961f-82ee72b054a4>2003-10-03 18:43:06 +0000
committerhboehm <hboehm@138bc75d-0d04-0410-961f-82ee72b054a4>2003-10-03 18:43:06 +0000
commitd30fdfb972fa8c97695e72fc0e939ace7d497e13 (patch)
tree24628e70256e7b26eb5d3ef1d7173ad25c32fea6 /boehm-gc/mach_dep.c
parentb494d19353d5c7b9ef2f7edf4e9ef2efce33569f (diff)
downloadgcc-d30fdfb972fa8c97695e72fc0e939ace7d497e13.tar.gz
* configure.in: Remove NO_GETENV definition for win32.
* mach_dep.c (GC_generic_push_regs): Prevent tail call optimization. * misc.c (GC_init_inner): Call GC_thr_init for win32. (GC_set_warn_proc): Add assertion. * win32_threads.c: Import 6.3alpha2 version. * include/private/gc_priv.h: Add support for EMPTY_GETENV_RESULTS. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@72074 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'boehm-gc/mach_dep.c')
-rw-r--r--boehm-gc/mach_dep.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/boehm-gc/mach_dep.c b/boehm-gc/mach_dep.c
index 3dc5f0b27b9..2c321fa978d 100644
--- a/boehm-gc/mach_dep.c
+++ b/boehm-gc/mach_dep.c
@@ -405,6 +405,8 @@ void GC_generic_push_regs(cold_gc_frame)
ptr_t cold_gc_frame;
{
{
+ word dummy;
+
# ifdef HAVE_BUILTIN_UNWIND_INIT
/* This was suggested by Richard Henderson as the way to */
/* force callee-save registers and register windows onto */
@@ -448,6 +450,10 @@ ptr_t cold_gc_frame;
}
# endif
GC_push_current_stack(cold_gc_frame);
+ /* Strongly discourage the compiler from treating the above */
+ /* as a tail-call, since that would pop the register */
+ /* contents before we get a chance to look at them. */
+ GC_noop1((word)(&dummy));
}
}
#endif /* USE_GENERIC_PUSH_REGS */