This is the mail archive of the
mailing list for the GCC project.
Re: ObjC++: fix testcase failures on Darwin
On Nov 29, 2010, at 4:32 PM, Nicola Pero wrote:
> Maybe we could reimplement setjmp_protect() ... a vanilla implementation that just marks all local variables
> and arguments in the function as volatile ? Then we can call it in finish_function() if a -fsafe-setjmp flag is
> passed and the function contains a call to sejmp ... assuming it works to mark the variables as volatile after
> the fact, you'd get no spurious warnings since the volatile warnings are produced earlier.
Debug information is usually written late, and we don't want volatile in there...
Also, for performance, we don't really want to mark them volatile, only that at calls (that can throw, I mean, that can longjmp), the values are stable in the variables home, if they are live on the other side of the setjmp.