[Date Prev][Date Next][Thread Prev][Thread Next][Author Index][Date Index][Thread Index]
Re: bombs and the Mac
- To: <heh>
- Subject: Re: bombs and the Mac
- From: Michael McClary <michael>
- Date: Sat, 14 Oct 89 16:23:52 PDT
- Cc: <xtech>
> From heh Sat Oct 14 15:25:28 1989
>
> [setjmp/longjmp register variable corruption in Mac C++]
> [declaring variables "volitile" didn't work because volitile
> wasn't implemented]
Try putting the suspect variables in a struct. This forces them
out of registers.
Before you try that, though, is the SHIELD_UP in the routine with
the variable problem? If not, I'd like you to try putting this
in the module where the variable problem occurs:
if (1==0) {
(void) setjmp(...);
}
If that makes the problem go away, it gives us more information
about how the compiler works, and says:
- The problem may manefest several routines above the one
that has the shield
- The problem is fixable in the setjmp/longjmp routines.
- The fix must be distributed to our developers, too.
michael