https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90920

--- Comment #4 from Jonathan Wakely <redi at gcc dot gnu.org> ---
I did experiment with putting the range checks in *both* places, the
std::rotate function and the std::__rotate helpers it calls. But there's still
no guarantee you won't get a "bad" combination  of definitions from objects
built with e.g. 9.1 and 8.3

If we change the mangled names to make the "new" functions different that
doesn't help, because the "old" functions will still be present in
already-built objects.

Basically nothing we can do will fix the code in already compiled objects. The
only guaranteed way to avoid the problem is to recompile anything built with
9.1, and if you have to do that anyway, then the fix I put on trunk works fine.

So I think I'll just backport the same fix, and 9.1 will be a blip.

Reply via email to