gcl-devel
[Top][All Lists]
Advanced

[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




reply via email to

[Prev in Thread] Current Thread [Next in Thread]