[Bug libstdc++/66017] Undefined behaviour in std::set<long long>

redi at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Wed May 27 11:19:00 GMT 2015


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66017

--- Comment #4 from Jonathan Wakely <redi at gcc dot gnu.org> ---
Author: redi
Date: Wed May 27 11:18:37 2015
New Revision: 223745

URL: https://gcc.gnu.org/viewcvs?rev=223745&root=gcc&view=rev
Log:
        PR libstdc++/66017
        * include/bits/stl_tree.h (_Rb_tree_node): Use __aligned_membuf.
        (_Rb_tree_iterator, _Rb_tree_const_iterator): Support construction
        from _Base_ptr.
        (_Rb_tree_const_iterator::_M_const_cast): Remove static_cast.
        (_Rb_tree::begin, _Rb_tree::end): Remove static_cast.
        * include/ext/aligned_buffer.h (__aligned_membuf): New type using
        alignment of _Tp as a member subobject, not as a complete object.
        * python/libstdcxx/v6/printers.py (StdRbtreeIteratorPrinter): Lookup
        _Link_type manually as it might not be in the debug info.

Modified:
    trunk/libstdc++-v3/ChangeLog
    trunk/libstdc++-v3/include/bits/stl_tree.h
    trunk/libstdc++-v3/include/ext/aligned_buffer.h
    trunk/libstdc++-v3/python/libstdcxx/v6/printers.py



More information about the Gcc-bugs mailing list