https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89358
--- Comment #3 from Jonathan Wakely <redi at gcc dot gnu.org> --- That change introduces some differences between C++98 and later modes, but the testcase use C++14 and C++17. There are no differences in the code. There's certainly no difference between std::less<int> in the two modes. Even so, we need to be able to make parts of the std::lib conditional on the standard version, as long as the semantics remain the same. These warnings are not helpful if they make users worry about harmless implementation details.