Fixed Clang build
authorkhizmax <libcds.dev@gmail.com>
Tue, 27 Sep 2016 20:57:03 +0000 (23:57 +0300)
committerkhizmax <libcds.dev@gmail.com>
Tue, 27 Sep 2016 20:57:03 +0000 (23:57 +0300)
Fixed minor lang warnings

25 files changed:
CMakeLists.txt
cds/compiler/clang/defs.h
cds/compiler/gcc/defs.h
cds/container/michael_set_nogc.h
cds/container/michael_set_rcu.h
cds/gc/impl/dhp_decl.h
cds/gc/impl/hp_decl.h
cds/intrusive/impl/iterable_list.h
test/unit/intrusive-set/test_intrusive_skiplist_rcu.h
test/unit/list/test_kv_iterable_list.h
test/unit/list/test_kv_iterable_list_hp.h
test/unit/list/test_kv_list.h
test/unit/list/test_kv_list_hp.h
test/unit/list/test_kv_list_nogc.h
test/unit/list/test_kv_list_rcu.h
test/unit/map/test_map_hp.h
test/unit/map/test_map_nogc.h
test/unit/map/test_map_rcu.h
test/unit/map/test_michael_iterable_hp.h
test/unit/misc/cxx11_atomic_class.cpp
test/unit/misc/cxx11_atomic_func.cpp
test/unit/set/skiplist_dhp.cpp
test/unit/set/skiplist_hp.cpp
test/unit/set/test_feldman_hashset_hp.h
test/unit/striped-set/intrusive_cuckoo_set.cpp

index b059ad378bce877b321b088417d1eb673c2ca3b2..6aaa300db8f92c8a8fe5bb476773ffdf6b0f446b 100644 (file)
@@ -78,12 +78,12 @@ if(NOT CMAKE_BUILD_TYPE)
   set(CMAKE_BUILD_TYPE Debug CACHE STRING "Default build type to Debug" FORCE)
 endif()
 
-if(CMAKE_COMPILER_IS_GNUCXX)
+if(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_CXX_COMPILER_ID STREQUAL "Clang" )
   set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -Wall -Wextra -pedantic -fno-strict-aliasing")  
   if(CMAKE_TARGET_ARCHITECTURE STREQUAL "x86_64")
     set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -mcx16")
   endif()    
-  if(CMAKE_CXX_COMPILER_VERSION VERSION_LESS "7.0.0")
+  if(CMAKE_COMPILER_IS_GNUCXX AND CMAKE_CXX_COMPILER_VERSION VERSION_LESS "7.0.0")
 #   gcc 4.8 - 6: disable noise -Wunused-local-typedefs
     set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-unused-local-typedefs")  
   endif()
index 473c8fb88c9a3fa1052604f39ae5a658ec3a612b..8d7010510535f394fb0ee5dc0944cec94ad03086 100644 (file)
@@ -25,7 +25,7 @@
     SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
     CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
     OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-    OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.     
+    OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 */
 
 #ifndef CDSLIB_COMPILER_CLANG_DEFS_H
 #define cds_likely( expr )   __builtin_expect( !!( expr ), 1 )
 #define cds_unlikely( expr ) __builtin_expect( !!( expr ), 0 )
 
-// double-width CAS support
-#if CDS_BUILD_BITS == 64
-#   ifdef __GCC_HAVE_SYNC_COMPARE_AND_SWAP_16
-#       define CDS_DCAS_SUPPORT
-#   endif
-#else
-#   ifdef __GCC_HAVE_SYNC_COMPARE_AND_SWAP_8
-#       define CDS_DCAS_SUPPORT
+// double-width CAS support - only for libc++
+#ifdef _LIBCPP_VERSION
+#   if CDS_BUILD_BITS == 64
+#       ifdef __GCC_HAVE_SYNC_COMPARE_AND_SWAP_16
+#           define CDS_DCAS_SUPPORT
+#       endif
+#   else
+#       ifdef __GCC_HAVE_SYNC_COMPARE_AND_SWAP_8
+#           define CDS_DCAS_SUPPORT
+#       endif
 #   endif
 #endif
 
index 59c5e86a1c40ba024cafdc6bf3ec5638a4a01b14..5c4fb8a3d03f32ce7ea9634b8a24eb98b86da730 100644 (file)
@@ -5,7 +5,7 @@
 
     Source code repo: http://github.com/khizmax/libcds/
     Download: http://sourceforge.net/projects/libcds/files/
-    
+
     Redistribution and use in source and binary forms, with or without
     modification, are permitted provided that the following conditions are met:
 
@@ -25,7 +25,7 @@
     SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
     CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
     OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-    OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.     
+    OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 */
 
 #ifndef CDSLIB_COMPILER_GCC_DEFS_H
index 6e0cceaca06da1faa65e45dca6a3c19286ff491d..3e3231dc7d9ec10886aeee5cb2c7ebd5ef0715a1 100644 (file)
@@ -5,7 +5,7 @@
 
     Source code repo: http://github.com/khizmax/libcds/
     Download: http://sourceforge.net/projects/libcds/files/
-    
+
     Redistribution and use in source and binary forms, with or without
     modification, are permitted provided that the following conditions are met:
 
@@ -94,7 +94,7 @@ namespace cds { namespace container {
             typedef internal_bucket_type_ base_class;
         public:
             using base_class::base_class;
-            using base_class::node_type;
+            using typename base_class::node_type;
             using base_class::alloc_node;
             using base_class::insert_node;
             using base_class::node_to_value;
index c5ca7d4eb6e38833c7ee71ff668b0d557dd8b7fd..7b5249cf2d9977206147b01cdd41fe808571311b 100644 (file)
@@ -5,7 +5,7 @@
 
     Source code repo: http://github.com/khizmax/libcds/
     Download: http://sourceforge.net/projects/libcds/files/
-    
+
     Redistribution and use in source and binary forms, with or without
     modification, are permitted provided that the following conditions are met:
 
@@ -175,7 +175,7 @@ namespace cds { namespace container {
             typedef internal_bucket_type_ base_class;
         public:
             using base_class::base_class;
-            using base_class::node_type;
+            using typename base_class::node_type;
             using base_class::alloc_node;
             using base_class::insert_node;
             using base_class::node_to_value;
index 128c884584e296083faed775a5a05a76abee922a..ba4e41727fc9af43e94bf6a445c5497cf06f3d8d 100644 (file)
@@ -5,7 +5,7 @@
 
     Source code repo: http://github.com/khizmax/libcds/
     Download: http://sourceforge.net/projects/libcds/files/
-    
+
     Redistribution and use in source and binary forms, with or without
     modification, are permitted provided that the following conditions are met:
 
@@ -324,6 +324,11 @@ namespace cds { namespace gc {
                 m_guard = nullptr;
                 return g;
             }
+
+            dhp::details::guard_data*& guard_ref()
+            {
+                return m_guard;
+            }
             //@endcond
 
         private:
@@ -629,7 +634,7 @@ namespace cds { namespace gc {
             /// Move-assignment from \p Guard
             guarded_ptr& operator=( Guard&& g ) CDS_NOEXCEPT
             {
-                std::swap( m_guard, g.m_guard );
+                std::swap( m_guard, g.guard_ref() );
                 return *this;
             }
 
index 354ac6a80d7dfbb9bfdaa1340331dfd54bcf67f4..0ecd01088145d99863bbfbb8a05e0539cfcac6dd 100644 (file)
@@ -5,7 +5,7 @@
 
     Source code repo: http://github.com/khizmax/libcds/
     Download: http://sourceforge.net/projects/libcds/files/
-    
+
     Redistribution and use in source and binary forms, with or without
     modification, are permitted provided that the following conditions are met:
 
@@ -326,6 +326,11 @@ namespace cds { namespace gc {
                 m_guard = nullptr;
                 return g;
             }
+
+            hp::details::hp_guard*& guard_ref()
+            {
+                return m_guard;
+            }
             //@endcond
 
         private:
@@ -617,7 +622,7 @@ namespace cds { namespace gc {
             /// Move-assignment from \p Guard
             guarded_ptr& operator=( Guard&& g ) CDS_NOEXCEPT
             {
-                std::swap( m_pGuard, g.m_guard );
+                std::swap( m_pGuard, g.guard_ref() );
                 return *this;
             }
 
index a05ae6cd37144b6b0e9cd2b9c4f70ff21374fca0..fe85cc98ff13a56f2021ba79143039681f7eda28 100644 (file)
@@ -239,13 +239,13 @@ namespace cds { namespace intrusive {
 
             value_ptr operator ->() const
             {
-                return m_Guard.get<value_type>();
+                return m_Guard.template get<value_type>();
             }
 
             value_ref operator *() const
             {
                 assert( m_Guard.get_native() != nullptr );
-                return *m_Guard.get<value_type>();
+                return *m_Guard.template get<value_type>();
             }
 
             /// Pre-increment
index efd8a7a526a4d6b77ea6716e4650f9fd74044c75..d676026a5ee3da4204f8f42e27056e30f82daac4 100644 (file)
@@ -5,7 +5,7 @@
 
     Source code repo: http://github.com/khizmax/libcds/
     Download: http://sourceforge.net/projects/libcds/files/
-    
+
     Redistribution and use in source and binary forms, with or without
     modification, are permitted provided that the following conditions are met:
 
@@ -25,7 +25,7 @@
     SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
     CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
     OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-    OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.     
+    OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 */
 #ifndef CDSUNIT_SET_TEST_INTRUSIVE_SKIPLIST_RCU_H
 #define CDSUNIT_SET_TEST_INTRUSIVE_SKIPLIST_RCU_H
@@ -172,7 +172,7 @@ TYPED_TEST_P( IntrusiveSkipListSet, member_less )
     typedef typename TestFixture::member_item_type member_item_type;
     typedef typename TestFixture::mock_disposer mock_disposer;
     typedef typename TestFixture::template less<member_item_type> less_predicate;
-    typedef typename TestFixture::hash_int hash_int;
+    //typedef typename TestFixture::hash_int hash_int;
 
     struct traits : public ci::skip_list::traits
     {
index 87c533fc6d3d5740ffd81eeb89329ba7cd64fa6c..8512b373bbd16b84bd9285d8cdda4c68c5621dbc 100644 (file)
@@ -158,7 +158,6 @@ namespace cds_test {
 
             static const size_t nSize = 20;
             typedef typename List::key_type    list_key_type;
-            typedef typename List::mapped_type list_mapped_type;
             typedef typename List::value_type  list_value_type;
             struct key_val {
                 int key;
index e7a6b57f4cb3a22deef00915e662cf20f0520680..79c9c9449c4e59a343247625d09c03310454ca8f 100644 (file)
@@ -5,7 +5,7 @@
 
     Source code repo: http://github.com/khizmax/libcds/
     Download: http://sourceforge.net/projects/libcds/files/
-    
+
     Redistribution and use in source and binary forms, with or without
     modification, are permitted provided that the following conditions are met:
 
@@ -45,9 +45,6 @@ namespace cds_test {
             // Postcondition: list is empty
 
             static const size_t nSize = 20;
-            typedef typename List::key_type    list_key_type;
-            typedef typename List::mapped_type list_mapped_type;
-            typedef typename List::value_type  list_value_type;
             typedef typename List::guarded_ptr guarded_ptr;
 
             struct key_val {
index 2611954a9831e25450164f58d04d4f557773a412..8b3fa2b629b7270fb40df0b7603e555f3f44df26 100644 (file)
@@ -158,7 +158,6 @@ namespace cds_test {
 
             static const size_t nSize = 20;
             typedef typename List::key_type    list_key_type;
-            typedef typename List::mapped_type list_mapped_type;
             typedef typename List::value_type  list_value_type;
             struct key_val {
                 int key;
index c401e6647e6b1f9f6f0c3273b97178d0e293f2f3..b4bab92db905c759db8b98cb1690e1afbac296b0 100644 (file)
@@ -5,7 +5,7 @@
 
     Source code repo: http://github.com/khizmax/libcds/
     Download: http://sourceforge.net/projects/libcds/files/
-    
+
     Redistribution and use in source and binary forms, with or without
     modification, are permitted provided that the following conditions are met:
 
@@ -25,7 +25,7 @@
     SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
     CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
     OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-    OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.     
+    OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 */
 
 #ifndef CDSUNIT_LIST_TEST_KV_LIST_HP_H
@@ -45,9 +45,6 @@ namespace cds_test {
             // Postcondition: list is empty
 
             static const size_t nSize = 20;
-            typedef typename List::key_type    list_key_type;
-            typedef typename List::mapped_type list_mapped_type;
-            typedef typename List::value_type  list_value_type;
             typedef typename List::guarded_ptr guarded_ptr;
 
             struct key_val {
index 26352e05193f17d7af91a3bb47acd6cb9ddf448d..cec703fb1f016363a8febe5b5956e882f6736058 100644 (file)
@@ -5,7 +5,7 @@
 
     Source code repo: http://github.com/khizmax/libcds/
     Download: http://sourceforge.net/projects/libcds/files/
-    
+
     Redistribution and use in source and binary forms, with or without
     modification, are permitted provided that the following conditions are met:
 
@@ -25,7 +25,7 @@
     SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
     CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
     OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-    OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.     
+    OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 */
 
 #ifndef CDSUNIT_LIST_TEST_KV_LIST_NOGC_H
@@ -147,8 +147,6 @@ namespace cds_test {
             // Postcondition: list is empty
 
             static const size_t nSize = 20;
-            typedef typename List::key_type    list_key_type;
-            typedef typename List::mapped_type list_mapped_type;
             typedef typename List::value_type  list_value_type;
 
             struct key_val {
@@ -300,9 +298,6 @@ namespace cds_test {
             // Postcondition: list is empty
 
             static const size_t nSize = 20;
-            typedef typename List::key_type    list_key_type;
-            typedef typename List::mapped_type list_mapped_type;
-            typedef typename List::value_type  list_value_type;
 
             struct key_val {
                 int key;
index 9b26317c3ff3e227fd54b00098c03cab161f00d5..660c37b1121037b4cffd5a17d561f3556d834cf5 100644 (file)
@@ -45,9 +45,6 @@ namespace cds_test {
             // Postcondition: list is empty
 
             static const size_t nSize = 20;
-            typedef typename List::key_type    list_key_type;
-            typedef typename List::mapped_type list_mapped_type;
-            typedef typename List::value_type  list_value_type;
             struct key_val {
                 int key;
                 int val;
index d3305706029c61567b7c6954a0a1a07eed866a5d..b0797ac273b27881237ef1de61e28bb5bcf30dbc 100644 (file)
@@ -5,7 +5,7 @@
 
     Source code repo: http://github.com/khizmax/libcds/
     Download: http://sourceforge.net/projects/libcds/files/
-    
+
     Redistribution and use in source and binary forms, with or without
     modification, are permitted provided that the following conditions are met:
 
@@ -51,7 +51,6 @@ namespace cds_test {
             EXPECT_TRUE( m.empty());
             EXPECT_CONTAINER_SIZE( m, 0 );
 
-            typedef typename Map::value_type map_pair;
             size_t const kkSize = base_class::kSize;
 
             std::vector<key_type> arrKeys;
index 9f5df9b07bdaad78835d2ba60ab6c8c36eef3fd7..1f5dbf19bb610ff70d3e294416b70ee7a9524ab1 100644 (file)
@@ -55,7 +55,6 @@ namespace cds_test {
 
             typedef typename Map::value_type map_pair;
             typedef typename Map::iterator   iterator;
-            typedef typename Map::const_iterator const_iterator;
             size_t const kkSize = kSize;
 
             std::vector<key_type> arrKeys;
index f05bac5f766f4262365d5da1a7065e3ed2879380..eb831ec8b72b47be589a7737bb33500eba4a881c 100644 (file)
@@ -5,7 +5,7 @@
 
     Source code repo: http://github.com/khizmax/libcds/
     Download: http://sourceforge.net/projects/libcds/files/
-    
+
     Redistribution and use in source and binary forms, with or without
     modification, are permitted provided that the following conditions are met:
 
@@ -25,7 +25,7 @@
     SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
     CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
     OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-    OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.     
+    OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 */
 
 #ifndef CDSUNIT_MAP_TEST_MAP_RCU_H
@@ -51,7 +51,6 @@ namespace cds_test {
             ASSERT_TRUE( m.empty());
             ASSERT_CONTAINER_SIZE( m, 0 );
 
-            typedef typename Map::value_type map_pair;
             size_t const kkSize = base_class::kSize;
 
             std::vector<key_type> arrKeys;
index 0bf59321a277dfa9b80376a2603c8d03606f08f5..eecc1156ca1dbb6b464b488ebc780f4df7c72e46 100644 (file)
@@ -51,7 +51,6 @@ namespace cds_test {
             EXPECT_TRUE( m.empty());
             EXPECT_CONTAINER_SIZE( m, 0 );
 
-            typedef typename Map::value_type map_pair;
             size_t const kkSize = base_class::kSize;
 
             std::vector<key_type> arrKeys;
index 1e2548e0e79e654a230ae0143aca8f99a3fbd18a..7003e7045785d60a3bd9faee4c5a610f99356647 100644 (file)
@@ -788,6 +788,7 @@ namespace {
         test_atomic_integral_volatile<unsigned long long>();
     }
 
+#if CDS_COMPILER != CDS_COMPILER_CLANG || defined(_LIBCPP_VERSION)
     TEST_F( cxx11_atomic_class, atomic_pointer_void )
     {
         do_test_atomic_pointer_void<false>();
@@ -797,6 +798,7 @@ namespace {
     {
         do_test_atomic_pointer_void<true>();
     }
+#endif
 
     TEST_F( cxx11_atomic_class, atomic_pointer_char )
     {
index e7109851465e3084c14129620a3446ee7d7e0246..8426ff9bd1e7ee4b173ec0a49f9fc625040d5b4a 100644 (file)
@@ -706,6 +706,7 @@ namespace misc {
         test_atomic_integral_volatile<unsigned long long>();
     }
 
+#if CDS_COMPILER != CDS_COMPILER_CLANG || defined(_LIBCPP_VERSION)
     TEST_F( cxx11_atomic_func, atomic_pointer_void )
     {
         do_test_atomic_pointer_void<false>();
@@ -714,6 +715,7 @@ namespace misc {
     {
         do_test_atomic_pointer_void<true>();
     }
+#endif
 
     TEST_F( cxx11_atomic_func, atomic_pointer_char )
     {
index c03f10505d95305806f6e08d40d5e2434d0bdb83..1dfb1f10bae3a55a0058dc936323594e5813453d 100644 (file)
@@ -5,7 +5,7 @@
 
     Source code repo: http://github.com/khizmax/libcds/
     Download: http://sourceforge.net/projects/libcds/files/
-    
+
     Redistribution and use in source and binary forms, with or without
     modification, are permitted provided that the following conditions are met:
 
@@ -25,7 +25,7 @@
     SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
     CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
     OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-    OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.     
+    OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 */
 
 #include "test_ordered_set_hp.h"
@@ -43,10 +43,6 @@ namespace {
 
         void SetUp()
         {
-            struct set_traits: public cc::skip_list::traits
-            {
-                typedef cmp compare;
-            };
             typedef cc::SkipListSet< gc_type, int_item > set_type;
 
             cds::gc::dhp::GarbageCollector::Construct( 16, set_type::c_nHazardPtrCount );
index 22b157aa8733db5b84ed327b5b9ebcc7be31a927..43ca5a177021ea9df2204fc90241016a22a43a4a 100644 (file)
@@ -5,7 +5,7 @@
 
     Source code repo: http://github.com/khizmax/libcds/
     Download: http://sourceforge.net/projects/libcds/files/
-    
+
     Redistribution and use in source and binary forms, with or without
     modification, are permitted provided that the following conditions are met:
 
@@ -25,7 +25,7 @@
     SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
     CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
     OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-    OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.     
+    OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 */
 
 #include "test_ordered_set_hp.h"
@@ -43,10 +43,6 @@ namespace {
 
         void SetUp()
         {
-            struct set_traits: public cc::skip_list::traits
-            {
-                typedef cmp compare;
-            };
             typedef cc::SkipListSet< gc_type, int_item > set_type;
 
             // +1 - for guarded_ptr
index 8de0971e0da3aa68fd2ef0b64007c35f814a8234..8d4ad882b0e092cf476b22fceaffb7bb468bd9f1 100644 (file)
@@ -134,7 +134,6 @@ namespace cds_test {
             for ( auto it = s.begin(); it != s.end(); ++it ) {
                 int key = it->key();
                 ASSERT_TRUE( s.erase_at( it ));
-                ASSERT_TRUE( &*it != nullptr );
                 EXPECT_EQ( it->key(), key );
                 ASSERT_FALSE( s.erase_at( it ) );
             }
index bddda565fef221072ca1f5747335c77b3321b13e..a2f18fbeef1516a3403ccf8a1e91e4d8fa28c23f 100644 (file)
@@ -51,7 +51,6 @@ namespace {
 
             base_class::test_< Set::c_isSorted>( s, data );
 
-            typedef typename Set::value_type value_type;
             size_t const nSetSize = base_class::kSize;
 
             // clear