This is the mail archive of the
mailing list for the GCC project.
Re: longjmp()/setjmp() difference between gcc 3.3 (Apple) and gcc 3.4.x
- From: "Remy Martin" <vsxo at hotmail dot com>
- To: rth at redhat dot com
- Cc: gcc at gcc dot gnu dot org
- Date: Sun, 23 Jan 2005 00:27:42 +0000
- Subject: Re: longjmp()/setjmp() difference between gcc 3.3 (Apple) and gcc 3.4.x
> setjmp() needs to be called only once, I think..
Incorrect. Once you leave the frame in which setjmp was called,
the contents of the jmpbuf become invalid.
Hmm. This explains my observation on the counter variable, but the (forced)
jump itself is executed correctly. Can that be because setjmp's frame was
called in a loop doing hardly anything else, so that the jmpbuf contents
remained largely valid?
Or can I take your remark to mean that if I call the function that does the
setjmp (contains the jump target) from my main(), the jmpbuf will remain