From: khizmax Date: Mon, 28 Nov 2016 08:30:23 +0000 (+0300) Subject: Fixed gcc-4.8 incompatibility X-Git-Tag: v2.2.0~44 X-Git-Url: http://plrg.eecs.uci.edu/git/?p=libcds.git;a=commitdiff_plain;h=70d60225de540cf3698839f9e2de56601e0fdbba Fixed gcc-4.8 incompatibility --- diff --git a/cds/intrusive/details/skip_list_base.h b/cds/intrusive/details/skip_list_base.h index eb61006a..eccb765d 100644 --- a/cds/intrusive/details/skip_list_base.h +++ b/cds/intrusive/details/skip_list_base.h @@ -72,13 +72,21 @@ namespace cds { namespace intrusive { protected: //@cond - atomic_marked_ptr m_pNext{ nullptr }; ///< Next item in bottom-list (list at level 0) - unsigned int m_nHeight{ 1 }; ///< Node height (size of \p m_arrNext array). For node at level 0 the height is 1. - atomic_marked_ptr * m_arrNext{ nullptr }; ///< Array of next items for levels 1 .. m_nHeight - 1. For node at level 0 \p m_arrNext is \p nullptr - atomics::atomic< state > m_state{ clean }; + atomic_marked_ptr m_pNext; ///< Next item in bottom-list (list at level 0) + unsigned int m_nHeight; ///< Node height (size of \p m_arrNext array). For node at level 0 the height is 1. + atomic_marked_ptr * m_arrNext; ///< Array of next items for levels 1 .. m_nHeight - 1. For node at level 0 \p m_arrNext is \p nullptr + atomics::atomic< state > m_state; //@endcond public: + node() + : m_pNext( nullptr ) + , m_nHeight( 1 ) + , m_arrNext( nullptr ) + , m_state( clean ) + {} + + /// Constructs a node's tower of height \p nHeight void make_tower( unsigned int nHeight, atomic_marked_ptr * nextTower ) {