https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97154
Jakub Jelinek <jakub at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |jakub at gcc dot gnu.org --- Comment #6 from Jakub Jelinek <jakub at gcc dot gnu.org> --- spec.end()[-1] doesn't dereference spec.end () though, but spec.end() - 1. And when not empty, that is valid iterator that can be dereferenced.