[Bug libstdc++/63500] [4.9/5 Regression] bug in debug version of std::make_move_iterator?

François Dumont frs.dumont@gmail.com
Tue Oct 14 21:51:00 GMT 2014


Hi

     Here is a proposal to fix the issue with iterators which do not 
expose lvalue references when dereferenced. I simply chose to detect 
such an issue in c++11 mode thanks to the is_lvalue_reference meta function.

2014-10-15  François Dumont  <fdumont@gcc.gnu.org>

     PR libstdc++/63500
     * include/bits/cpp_type_traits.h (__true_type): Add __value constant.
     (__false_type): Likewise.
     * include/debug/functions.h (__foreign_iterator_aux2): Do not check for
     foreign iterators if input iterators returns rvalue reference.
     * testsuite/23_containers/vector/63500.cc: New.

Tested under Linux x86_64.

François

-------------- next part --------------
A non-text attachment was scrubbed...
Name: debug.patch
Type: text/x-patch
Size: 3237 bytes
Desc: not available
URL: <http://gcc.gnu.org/pipermail/libstdc++/attachments/20141014/21f80e6e/attachment.bin>


More information about the Libstdc++ mailing list