http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59391
Jonathan Wakely <redi at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Resolution|WORKSFORME |INVALID --- Comment #5 from Jonathan Wakely <redi at gcc dot gnu.org> --- This is not a valid strict weak ordering: bool compare_val(int* a, int* b) { if (*a <= *b) return true; return false; } See https://www.sgi.com/tech/stl/StrictWeakOrdering.html It fails the irreflexive and antisymmetric requirements.