[Bug libstdc++/86015] Better handling of iterator distances
joshua.r.marshall.1991 at gmail dot com
gcc-bugzilla@gcc.gnu.org
Wed Jun 6 11:00:00 GMT 2018
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86015
--- Comment #9 from Josh Marshall <joshua.r.marshall.1991 at gmail dot com> ---
Confirmed in 8.1.1
Also, looking over the following documents:
https://en.cppreference.com/w/cpp/types/ptrdiff_t
https://en.cppreference.com/w/cpp/iterator/iterator
http://en.cppreference.com/w/cpp/iterator/advance
http://en.cppreference.com/w/cpp/iterator/distance
https://en.cppreference.com/w/cpp/concept/Iterator
https://en.cppreference.com/w/cpp/iterator/iterator_traits
All of these do not require difference_type (typename _Distance in glibc) to be
convertible to an integer, and imply implicit conversion from an integer. From
this reading, I need to change this from an enhancement to a bug. I also need
to put in a request for a clarification to the standard on this, because it
wasn't very apparent.
Unfortunately, this involves the bigger change to glibc. Functions like __lg()
will have to be re-written.
More information about the Gcc-bugs
mailing list