https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99613
--- Comment #17 from Richard Biener <rguenth at gcc dot gnu.org> --- I think for the non-dependent case there's no good fix but the standard can be read in a way that only the dependent case has well-defined order of destruction.