https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70303
Bug ID: 70303 Summary: Value-initialized debug iterators Product: gcc Version: 6.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: libstdc++ Assignee: unassigned at gcc dot gnu.org Reporter: Casey at Carter dot net Target Milestone: --- Since C++14 requires value-initialized Forward iterators to compare equal, and subtraction/ordering of RandomAccess iterators is based on equality, this program should run to completion: #define _GLIBCXX_DEBUG #include <cassert> #include <vector> int main() { using I = std::vector<int>::iterator; assert(I{} == I{}); assert(!(I{} != I{})); assert(I{} - I{} == 0); assert(!(I{} < I{})); assert(!(I{} > I{})); assert(I{} <= I{}); assert(I{} >= I{}); } instead of reporting "Error: attempt to compare a singular iterator to a singular iterator." for any of the listed iterator operations.