Fix GCC build
authorkhizmax <libcds.dev@gmail.com>
Wed, 29 Oct 2014 21:48:54 +0000 (00:48 +0300)
committerkhizmax <libcds.dev@gmail.com>
Wed, 29 Oct 2014 21:48:54 +0000 (00:48 +0300)
cds/container/michael_kvlist_rcu.h
projects/source.test-hdr.mk
projects/source.test-hdr.offsetof.mk
tests/test-hdr/ordered_list/hdr_michael_kv_rcu_shb.cpp
tests/test-hdr/ordered_list/hdr_michael_kv_rcu_sht.cpp

index b7fc1ad2195b8fc501745a2c9874dc8b1f2431af..7783fb8dbaa47362fd5e71b19bb9624d652e9dfa 100644 (file)
@@ -92,23 +92,24 @@ namespace cds { namespace container {
         //@endcond
 
     public:
         //@endcond
 
     public:
+        typedef cds::urcu::gc<RCU>  gc;   ///< Garbage collector
+
 #ifdef CDS_DOXYGEN_INVOKED
 #ifdef CDS_DOXYGEN_INVOKED
-        typedef Key                                 key_type        ;   ///< Key type
-        typedef Value                               mapped_type     ;   ///< Type of value stored in the list
-        typedef std::pair<key_type const, mapped_type> value_type   ;   ///< key/value pair stored in the list
+        typedef Key                                 key_type;      ///< Key type
+        typedef Value                               mapped_type;   ///< Type of value stored in the list
+        typedef std::pair<key_type const, mapped_type> value_type; ///< key/value pair stored in the list
 #else
 #else
-        typedef typename maker::key_type          key_type;
-        typedef typename maker::value_type        mapped_type;
-        typedef typename maker::pair_type         value_type;
+        typedef typename maker::key_type   key_type;
+        typedef typename maker::value_type mapped_type;
+        typedef typename maker::pair_type  value_type;
 #endif
 #endif
-        typename Traits traits; ///< List traits
+        typedef Traits traits; ///< List traits
 
 
-        typedef typename base_class::gc             gc              ;   ///< Garbage collector used
-        typedef typename base_class::back_off       back_off        ;   ///< Back-off strategy used
+        typedef typename base_class::back_off       back_off;       ///< Back-off strategy
         typedef typename maker::allocator_type    allocator_type;   ///< Allocator type used for allocate/deallocate the nodes
         typedef typename maker::allocator_type    allocator_type;   ///< Allocator type used for allocate/deallocate the nodes
-        typedef typename base_class::item_counter   item_counter    ;   ///< Item counting policy used
+        typedef typename base_class::item_counter   item_counter;   ///< Item counting policy
         typedef typename maker::key_comparator    key_comparator;   ///< key comparison functor
         typedef typename maker::key_comparator    key_comparator;   ///< key comparison functor
-        typedef typename base_class::memory_model   memory_model    ;   ///< Memory ordering. See cds::opt::memory_model option
+        typedef typename base_class::memory_model   memory_model;   ///< Memory ordering. See \p michael_list::traits::memory_model
         typedef typename base_class::rcu_check_deadlock rcu_check_deadlock ; ///< RCU deadlock checking policy
 
         typedef typename gc::scoped_lock    rcu_lock ;  ///< RCU scoped lock
         typedef typename base_class::rcu_check_deadlock rcu_check_deadlock ; ///< RCU deadlock checking policy
 
         typedef typename gc::scoped_lock    rcu_lock ;  ///< RCU scoped lock
index 76148ceafede58bc5e9ab84fabf523ba90c1da54..f16cb384ba0022551f20d6c056b4c1d834d10a4d 100644 (file)
@@ -180,7 +180,7 @@ CDS_TESTHDR_SET := \
     tests/test-hdr/set/hdr_refinable_hashset_slist.cpp \
     tests/test-hdr/set/hdr_refinable_hashset_vector.cpp \
     tests/test-hdr/set/hdr_skiplist_set_hp.cpp \
     tests/test-hdr/set/hdr_refinable_hashset_slist.cpp \
     tests/test-hdr/set/hdr_refinable_hashset_vector.cpp \
     tests/test-hdr/set/hdr_skiplist_set_hp.cpp \
-    tests/test-hdr/set/hdr_skiplist_set_dhp.cpp \
+    tests/test-hdr/set/hdr_skiplist_set_ptb.cpp \
     tests/test-hdr/set/hdr_skiplist_set_rcu_gpi.cpp \
     tests/test-hdr/set/hdr_skiplist_set_rcu_gpb.cpp \
     tests/test-hdr/set/hdr_skiplist_set_rcu_gpt.cpp \
     tests/test-hdr/set/hdr_skiplist_set_rcu_gpi.cpp \
     tests/test-hdr/set/hdr_skiplist_set_rcu_gpb.cpp \
     tests/test-hdr/set/hdr_skiplist_set_rcu_gpt.cpp \
index b9a06829e3a4a15f09d9d9dee20c5fea5c92286a..84fce3de426c33a8aba0d04696987febb128b05b 100644 (file)
@@ -24,7 +24,7 @@ CDS_TESTHDR_OFFSETOF_SET := \
     tests/test-hdr/set/hdr_intrusive_michael_set_rcu_shb_lazy.cpp \
     tests/test-hdr/set/hdr_intrusive_michael_set_rcu_sht_lazy.cpp \
     tests/test-hdr/set/hdr_intrusive_skiplist_hp_member.cpp \
     tests/test-hdr/set/hdr_intrusive_michael_set_rcu_shb_lazy.cpp \
     tests/test-hdr/set/hdr_intrusive_michael_set_rcu_sht_lazy.cpp \
     tests/test-hdr/set/hdr_intrusive_skiplist_hp_member.cpp \
-    tests/test-hdr/set/hdr_intrusive_skiplist_dhp_member.cpp \
+    tests/test-hdr/set/hdr_intrusive_skiplist_ptb_member.cpp \
     tests/test-hdr/set/hdr_intrusive_skiplist_rcu_gpi_member.cpp \
     tests/test-hdr/set/hdr_intrusive_skiplist_rcu_gpb_member.cpp \
     tests/test-hdr/set/hdr_intrusive_skiplist_rcu_gpt_member.cpp \
     tests/test-hdr/set/hdr_intrusive_skiplist_rcu_gpi_member.cpp \
     tests/test-hdr/set/hdr_intrusive_skiplist_rcu_gpb_member.cpp \
     tests/test-hdr/set/hdr_intrusive_skiplist_rcu_gpt_member.cpp \
index 1ee3be5fff724ca844a37f27767eecb92c8dda06..21f65ae3a396ac04cdd309d3ba302df966cc5366 100644 (file)
@@ -8,7 +8,7 @@ namespace ordlist {
 #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED
     namespace {
         typedef cds::urcu::gc< cds::urcu::signal_buffered<> > rcu_type;
 #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED
     namespace {
         typedef cds::urcu::gc< cds::urcu::signal_buffered<> > rcu_type;
-        struct RCU_SHB_cmp_traits: public cc::michael_list::type_traits
+        struct RCU_SHB_cmp_traits: public cc::michael_list::traits
         {
             typedef MichaelKVListTestHeader::cmp<MichaelKVListTestHeader::key_type>   compare;
         };
         {
             typedef MichaelKVListTestHeader::cmp<MichaelKVListTestHeader::key_type>   compare;
         };
@@ -34,7 +34,7 @@ namespace ordlist {
 
 #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED
     namespace {
 
 #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED
     namespace {
-        struct RCU_SHB_less_traits: public cc::michael_list::type_traits
+        struct RCU_SHB_less_traits: public cc::michael_list::traits
         {
             typedef MichaelKVListTestHeader::lt<MichaelKVListTestHeader::key_type>   less;
         };
         {
             typedef MichaelKVListTestHeader::lt<MichaelKVListTestHeader::key_type>   less;
         };
@@ -60,7 +60,7 @@ namespace ordlist {
 
 #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED
     namespace {
 
 #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED
     namespace {
-        struct RCU_SHB_cmpmix_traits: public cc::michael_list::type_traits
+        struct RCU_SHB_cmpmix_traits: public cc::michael_list::traits
         {
             typedef MichaelKVListTestHeader::cmp<MichaelKVListTestHeader::key_type>   compare;
             typedef MichaelKVListTestHeader::lt<MichaelKVListTestHeader::key_type>  less;
         {
             typedef MichaelKVListTestHeader::cmp<MichaelKVListTestHeader::key_type>   compare;
             typedef MichaelKVListTestHeader::lt<MichaelKVListTestHeader::key_type>  less;
@@ -88,7 +88,7 @@ namespace ordlist {
 
 #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED
     namespace {
 
 #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED
     namespace {
-        struct RCU_SHB_ic_traits: public cc::michael_list::type_traits
+        struct RCU_SHB_ic_traits: public cc::michael_list::traits
         {
             typedef MichaelKVListTestHeader::lt<MichaelKVListTestHeader::key_type>   less;
             typedef cds::atomicity::item_counter item_counter;
         {
             typedef MichaelKVListTestHeader::lt<MichaelKVListTestHeader::key_type>   less;
             typedef cds::atomicity::item_counter item_counter;
index f7a069ba0d911cb579bad507f04789128b8a8243..360fe14c4739ca2f9f22827dd6edb43bcd765de9 100644 (file)
@@ -8,7 +8,7 @@ namespace ordlist {
 #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED
     namespace {
         typedef cds::urcu::gc< cds::urcu::signal_threaded<> > rcu_type;
 #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED
     namespace {
         typedef cds::urcu::gc< cds::urcu::signal_threaded<> > rcu_type;
-        struct RCU_SHT_cmp_traits: public cc::michael_list::type_traits
+        struct RCU_SHT_cmp_traits: public cc::michael_list::traits
         {
             typedef MichaelKVListTestHeader::cmp<MichaelKVListTestHeader::key_type>   compare;
         };
         {
             typedef MichaelKVListTestHeader::cmp<MichaelKVListTestHeader::key_type>   compare;
         };
@@ -34,7 +34,7 @@ namespace ordlist {
 
 #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED
     namespace {
 
 #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED
     namespace {
-        struct RCU_SHT_less_traits: public cc::michael_list::type_traits
+        struct RCU_SHT_less_traits: public cc::michael_list::traits
         {
             typedef MichaelKVListTestHeader::lt<MichaelKVListTestHeader::key_type>   less;
         };
         {
             typedef MichaelKVListTestHeader::lt<MichaelKVListTestHeader::key_type>   less;
         };
@@ -60,7 +60,7 @@ namespace ordlist {
 
 #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED
     namespace {
 
 #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED
     namespace {
-        struct RCU_SHT_cmpmix_traits: public cc::michael_list::type_traits
+        struct RCU_SHT_cmpmix_traits: public cc::michael_list::traits
         {
             typedef MichaelKVListTestHeader::cmp<MichaelKVListTestHeader::key_type>   compare;
             typedef MichaelKVListTestHeader::lt<MichaelKVListTestHeader::key_type>  less;
         {
             typedef MichaelKVListTestHeader::cmp<MichaelKVListTestHeader::key_type>   compare;
             typedef MichaelKVListTestHeader::lt<MichaelKVListTestHeader::key_type>  less;
@@ -88,7 +88,7 @@ namespace ordlist {
 
 #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED
     namespace {
 
 #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED
     namespace {
-        struct RCU_SHT_ic_traits: public cc::michael_list::type_traits
+        struct RCU_SHT_ic_traits: public cc::michael_list::traits
         {
             typedef MichaelKVListTestHeader::lt<MichaelKVListTestHeader::key_type>   less;
             typedef cds::atomicity::item_counter item_counter;
         {
             typedef MichaelKVListTestHeader::lt<MichaelKVListTestHeader::key_type>   less;
             typedef cds::atomicity::item_counter item_counter;