This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]