(Apply squashed commit of
8ffc3db and
65b50c0 from 'master' branch.)
* mach_dep.c (GC_with_callee_saves_pushed): Make "arg" parameter
volatile (to prevent it from potential clobbering).
* include/private/gc_priv.h (GC_with_callee_saves_pushed): Add
volatile for arg (to match the function definition).
/* the typed allocation support if unused. */
GC_INNER void GC_with_callee_saves_pushed(void (*fn)(ptr_t, void *),
- ptr_t arg);
+ volatile ptr_t arg);
#if defined(SPARC) || defined(IA64)
/* Cause all stacked registers to be saved in memory. Return a */
/* are somewhere on the stack, and then call fn(arg, ctxt). */
/* ctxt is either a pointer to a ucontext_t we generated, or NULL. */
GC_INNER void GC_with_callee_saves_pushed(void (*fn)(ptr_t, void *),
- ptr_t arg)
+ volatile ptr_t arg)
{
volatile int dummy;
void * context = 0;