https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113401
--- Comment #9 from Iain Sandoe <iains at gcc dot gnu.org> --- (In reply to Florian Weimer from comment #8) > Which version of the manual page are you looking at? > > https://man7.org/linux/man-pages/man3/pthread_cleanup_push.3.html seems > pretty clear about the scope-based nature (search for discussion of > break/return/goto). yeah, got it; one needs to read the union of the sections (the page I was reading was slightly different but the same basic info). I suppose if we were able to create a wrapper around the thread routine and the cleanup was NOP for cases without nested fns. Otherwise, it looks a bit tricky for platforms without thread_atexit support. Have to think some more.