https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95103
Richard Biener <rguenth at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Version|unknown |10.1.0
Keywords| |diagnostic
--- Comment #1 from Richard Biener <rguenth at gcc dot gnu.org> ---
Likely because of the std::vector<S> DTOR invocation which has to access
'v' which is not declared volatile but still "live" across the setjmp.
Does it work placing the initial part of the function in a separate { }?