diff options
author | hboehm <hboehm@138bc75d-0d04-0410-961f-82ee72b054a4> | 2003-10-03 18:43:06 +0000 |
---|---|---|
committer | hboehm <hboehm@138bc75d-0d04-0410-961f-82ee72b054a4> | 2003-10-03 18:43:06 +0000 |
commit | d30fdfb972fa8c97695e72fc0e939ace7d497e13 (patch) | |
tree | 24628e70256e7b26eb5d3ef1d7173ad25c32fea6 /boehm-gc/mach_dep.c | |
parent | b494d19353d5c7b9ef2f7edf4e9ef2efce33569f (diff) | |
download | gcc-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.c | 6 |
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 */ |