https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61118
--- Comment #9 from Yuri Gribov <tetra2005 at gmail dot com> --- (In reply to Tavian Barnes from comment #7) > But this condition is not met: > >> - They are changed between the setjmp() invocation and longjmp() call. I think it is - __cancel_arg is assigned inside a while loop and can thus be overwritten on successive iterations (compiler doesn't know that longjmp will only be from the same iteration).