[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Gcl-devel] Windows GCL: setjmp/longjmp
From: |
Mike Thomas |
Subject: |
[Gcl-devel] Windows GCL: setjmp/longjmp |
Date: |
Mon, 22 Mar 2004 12:31:57 +1000 |
Hi all.
Here is a question:
| The
| values of all variables (except register variables) that are accessible to
| the routine receiving control contain the values they had when longjmp was
| called. The values of register variables are unpredictable. The value
| returned by setjmp must be nonzero. If value is passed as 0, the
| value 1 is
| substituted in the actual return.
|
| Call longjmp before the function that called setjmp returns; otherwise the
| results are unpredictable.
|
| Observe the following restrictions when using longjmp:
|
| Do not assume that the values of the register variables will remain the
| same. The values of register variables in the routine calling
| setjmp may not
| be restored to the proper values after longjmp is executed.
My understanding is that any local variable is likely to be a register
variable as most compilers these days ignore programmer usage of the
register storage modifier.
Is that true?
If so, then format.c looks like a good place to start looking for trouble
with setjmp/longjmp.
Unfortunately, so far I haven't been able to come up with a format statement
which causes a problem.
Cheers
Mike Thomas.
- Re: [Gcl-devel] Re: GCL produces wrong EOL on mingw, (continued)
- Re: [Gcl-devel] Re: GCL produces wrong EOL on mingw, Camm Maguire, 2004/03/17
- Re: [Gcl-devel] Re: GCL produces wrong EOL on mingw, Vadim V. Zhytnikov, 2004/03/17
- Re: [Gcl-devel] Re: GCL produces wrong EOL on mingw, Camm Maguire, 2004/03/19
- Re: [Gcl-devel] Re: GCL produces wrong EOL on mingw, Mike Thomas, 2004/03/20
- Re: [Gcl-devel] Re: GCL produces wrong EOL on mingw, Vadim V. Zhytnikov, 2004/03/20
- Re: [Gcl-devel] Re: GCL produces wrong EOL on mingw, Camm Maguire, 2004/03/20
- Re: [Gcl-devel] Re: GCL produces wrong EOL on mingw, Vadim V. Zhytnikov, 2004/03/21
- [Gcl-devel] 2.6.2, random-tester progress, Camm Maguire, 2004/03/21
- Re: [Gcl-devel] 2.6.2, random-tester progress, Vadim V. Zhytnikov, 2004/03/21
- RE: [Gcl-devel] 2.6.2, random-tester progress, Mike Thomas, 2004/03/21
- [Gcl-devel] Windows GCL: setjmp/longjmp,
Mike Thomas <=
- Re: [Gcl-devel] Windows GCL: setjmp/longjmp, Camm Maguire, 2004/03/21
- RE: [Gcl-devel] Windows GCL: setjmp/longjmp, Mike Thomas, 2004/03/21
- RE: [Gcl-devel] Windows GCL: setjmp/longjmp, Mike Thomas, 2004/03/22
- Re: [Gcl-devel] Windows GCL: setjmp/longjmp, Camm Maguire, 2004/03/23
- RE: [Gcl-devel] Windows GCL: setjmp/longjmp, Mike Thomas, 2004/03/23
- Re: [Gcl-devel] Windows GCL: setjmp/longjmp, Camm Maguire, 2004/03/23
- RE: [Gcl-devel] Windows GCL: setjmp/longjmp, Mike Thomas, 2004/03/23
- Re: [Gcl-devel] Windows GCL: setjmp/longjmp, Camm Maguire, 2004/03/24
- RE: [Gcl-devel] Windows GCL: setjmp/longjmp, Mike Thomas, 2004/03/24
- RE: [Gcl-devel] Windows GCL: setjmp/longjmp, Mike Thomas, 2004/03/25