[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Gcl-devel] Windows GCL: setjmp/longjmp
From: |
Camm Maguire |
Subject: |
Re: [Gcl-devel] Windows GCL: setjmp/longjmp |
Date: |
21 Mar 2004 21:59:58 -0500 |
User-agent: |
Gnus/5.09 (Gnus v5.9.0) Emacs/21.2 |
Greetings!
"Mike Thomas" <address@hidden> writes:
> 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.
>
If you look in format.c for example, you will see significant use of
the 'volatile' variable declaration modifier. If memory serves, this
may be also abbreviated in a C define set at the gcc command line
(VOL). I believe the generated C files also contain this modifier
where required. Remember, this issue is windows specific. Please
make sure you have -DVOL=volatile in the FlAGS variables in makedefs,
and that cpp is using it to properly expand the C code.
Take care,
> Cheers
>
> Mike Thomas.
>
>
>
>
>
> _______________________________________________
> Gcl-devel mailing list
> address@hidden
> http://mail.gnu.org/mailman/listinfo/gcl-devel
>
>
--
Camm Maguire address@hidden
==========================================================================
"The earth is but one country, and mankind its citizens." -- Baha'u'llah
- RE: [Gcl-devel] Windows GCL: setjmp/longjmp, (continued)
- 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
- Re: [Gcl-devel] Windows GCL: setjmp/longjmp, Camm Maguire, 2004/03/25
- Re: [Gcl-devel] Windows GCL: setjmp/longjmp,
Camm Maguire <=
- RE: [Gcl-devel] Windows GCL: setjmp/longjmp, Mike Thomas, 2004/03/21
- 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, Mike Thomas, 2004/03/21
- Re: [Gcl-devel] Re: GCL produces wrong EOL on mingw, Vadim V. Zhytnikov, 2004/03/21
- RE: [Gcl-devel] Re: GCL produces wrong EOL on mingw, Mike Thomas, 2004/03/21
- Re: [Gcl-devel] Re: GCL produces wrong EOL on mingw, Mike Thomas, 2004/03/21