Cast constant to size_t before left shift
authorMike Krinkin <krinkin.m.u@gmail.com>
Thu, 16 Apr 2015 14:22:48 +0000 (17:22 +0300)
committerkhizmax <khizmax@gmail.com>
Tue, 21 Apr 2015 12:51:47 +0000 (15:51 +0300)
cds/intrusive/split_list.h

index 4a560c57681620d89414b2387477051e60767951..7a923dc8600e8ac4845637490b421d49f089d1ee 100644 (file)
@@ -459,8 +459,8 @@ namespace cds { namespace intrusive {
 
         void inc_item_count()
         {
-            size_t sz = m_nBucketCountLog2.load(memory_model::memory_order_relaxed);
-            if ( ( ++m_ItemCounter >> sz ) > m_Buckets.load_factor() && ((size_t)(1 << sz )) < m_Buckets.capacity() )
+            size_t sz = m_nBucketCountLog2.load(atomics::memory_order_relaxed);
+            if ( ( ++m_ItemCounter >> sz ) > m_Buckets.load_factor() && (static_cast<size_t>(1) << sz ) < m_Buckets.capacity() )
             {
                 m_nBucketCountLog2.compare_exchange_strong( sz, sz + 1, memory_model::memory_order_relaxed, atomics::memory_order_relaxed );
             }