Trying again...with a few edits. > On Mon, Oct 10, 2016 at 3:24 PM, François Dumont <frs.dum...@gmail.com> > wrote: > > @@ -602,24 +612,32 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION > struct _Rb_tree_impl : public _Node_allocator > { > _Key_compare _M_key_compare; > - _Rb_tree_node_base _M_header; > + _Rb_header_node _M_header; > +#if __cplusplus < 201103L > size_type _M_node_count; // Keeps track of size of tree. > +#else > + size_type _M_node_count = 0; // Keeps track of size of tree. > +#endif > > +#if __cplusplus < 201103L > _Rb_tree_impl() > - : _Node_allocator(), _M_key_compare(), _M_header(), > - _M_node_count(0) > - { _M_initialize(); } > + : _M_node_count(0) > + { } > +#else > + _Rb_tree_impl() = default; > +#endif
The default constructor of the associative containers is required to value-initialize the comparator (see their synopses in [map/set/multimap/multiset.overview]). _Rb_tree_impl() = default; doesn't do that; it default-initializes the comparator instead. Tim