https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108117
--- Comment #7 from Andrew Pinski <pinskia at gcc dot gnu.org> --- (In reply to Feng Xue from comment #6) > (In reply to Andrew Pinski from comment #2) > > https://en.cppreference.com/w/c/program/setjmp > > I think that most programmers are not aware of this, neither I for sure. > Usage of volatile here is not that intuitive as for purpose of > multi-execution synchronization You should read up on https://en.cppreference.com/w/cpp/utility/program/signal too.