http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49559
--- Comment #17 from Paolo Carlini <paolo.carlini at oracle dot com> 2011-07-08 11:46:10 UTC --- The *_backward case seems rather straightforward, with the roles of the __first1, __last1 and __first2, __last2 ranges swapped.