https://gcc.gnu.org/bugzilla/show_bug.cgi?id=60734
--- Comment #12 from Bhargava Shastry <bshastry at sec dot t-labs.tu-berlin.de> --- Also, I noticed a couple of potentially suspicious casts not fixed upstream. They are in _S_right [1] and elsewhere. The problem I see is this: a. _M_right is a pointer to an object of type _Rb_tree_node_base b. _Link_type is a pointer to an object of type _Rb_tree_node<_Val> that is derived from _Rb_tree_node_base b. _M_right points to an object of type _Rb_tree_node_base in init() [2] and reset() [3] a) and b) together imply that it is possible that _M_right points to an object of type _Rb_tree_node_base when cast to _Link_type in [1]. Is this a matter for concern? [1]: https://gcc.gnu.org/viewcvs/gcc/branches/gcc-5-branch/libstdc%2B%2B-v3/include/bits/stl_tree.h?view=markup&pathrev=223811#l685 [2]: https://gcc.gnu.org/viewcvs/gcc/branches/gcc-5-branch/libstdc%2B%2B-v3/include/bits/stl_tree.h?view=markup&pathrev=223811#l614 [3]: https://gcc.gnu.org/viewcvs/gcc/branches/gcc-5-branch/libstdc%2B%2B-v3/include/bits/stl_tree.h?view=markup&pathrev=223811#l604