http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56982

--- Comment #15 from Bernd Edlinger <bernd.edlinger at hotmail dot de> ---
(In reply to Mikael Pettersson from comment #14)
> Your example is invalid C.  Referring to WG14 n1494.pdf (there may be more
> recent C1x documents, but it's the one I had available right now):
> 
> - you violate 7.13.1.1 which specifies where setjmp() may be called, an
> assignment statement is not one of the permitted contexts
> 
> - more importantly, your auto variable a is not volatile-qualified, which
> means that its value is indeterminate after the longjmp (7.13.2.1).
> 
> Please fix these issues and check again if it yields wrong results.

Thanks for pointing that out.

When I add volatile to the auto variable, the code is OK.

Reply via email to