diff --git a/include/cuco/aow_storage.cuh b/include/cuco/aow_storage.cuh index 479246fac..2ac70095c 100644 --- a/include/cuco/aow_storage.cuh +++ b/include/cuco/aow_storage.cuh @@ -66,7 +66,8 @@ class aow_storage : public detail::aow_storage_base { using base_type::num_windows; /// Type of the allocator to (de)allocate windows - using allocator_type = typename std::allocator_traits::rebind_alloc; + using allocator_type = + typename std::allocator_traits::template rebind_alloc; using window_deleter_type = detail::custom_deleter; ///< Type of window deleter using ref_type = aow_storage_ref; ///< Storage ref type diff --git a/include/cuco/detail/open_addressing/open_addressing_impl.cuh b/include/cuco/detail/open_addressing/open_addressing_impl.cuh index 79fbfb874..3adc24d99 100644 --- a/include/cuco/detail/open_addressing/open_addressing_impl.cuh +++ b/include/cuco/detail/open_addressing/open_addressing_impl.cuh @@ -559,9 +559,10 @@ class open_addressing_impl { cuda_stream_ref stream) const { std::size_t temp_storage_bytes = 0; - using temp_allocator_type = typename std::allocator_traits::rebind_alloc; - auto temp_allocator = temp_allocator_type{this->allocator()}; - auto d_num_out = reinterpret_cast( + using temp_allocator_type = + typename std::allocator_traits::template rebind_alloc; + auto temp_allocator = temp_allocator_type{this->allocator()}; + auto d_num_out = reinterpret_cast( std::allocator_traits::allocate(temp_allocator, sizeof(size_type))); CUCO_CUDA_TRY(cub::DeviceSelect::If(nullptr, temp_storage_bytes, diff --git a/include/cuco/detail/static_map.inl b/include/cuco/detail/static_map.inl index cd7f8c079..48799a74f 100644 --- a/include/cuco/detail/static_map.inl +++ b/include/cuco/detail/static_map.inl @@ -221,9 +221,10 @@ std::pair static_map::retrieve_a auto zipped_out_begin = thrust::make_zip_iterator(thrust::make_tuple(keys_out, values_out)); std::size_t temp_storage_bytes = 0; - using temp_allocator_type = typename std::allocator_traits::rebind_alloc; - auto temp_allocator = temp_allocator_type{slot_allocator_}; - auto d_num_out = reinterpret_cast( + using temp_allocator_type = + typename std::allocator_traits::template rebind_alloc; + auto temp_allocator = temp_allocator_type{slot_allocator_}; + auto d_num_out = reinterpret_cast( std::allocator_traits::allocate(temp_allocator, sizeof(std::size_t))); cub::DeviceSelect::If(nullptr, temp_storage_bytes, diff --git a/include/cuco/detail/storage/counter_storage.cuh b/include/cuco/detail/storage/counter_storage.cuh index bb36b15e2..92751443d 100644 --- a/include/cuco/detail/storage/counter_storage.cuh +++ b/include/cuco/detail/storage/counter_storage.cuh @@ -42,7 +42,7 @@ class counter_storage : public storage_base; ///< Type of the counter - using allocator_type = typename std::allocator_traits::rebind_alloc< + using allocator_type = typename std::allocator_traits::template rebind_alloc< value_type>; ///< Type of the allocator to (de)allocate counter using counter_deleter_type = custom_deleter; ///< Type of counter deleter diff --git a/include/cuco/static_map.cuh b/include/cuco/static_map.cuh index 56fbabe23..c297d7248 100644 --- a/include/cuco/static_map.cuh +++ b/include/cuco/static_map.cuh @@ -839,9 +839,9 @@ class static_map { using slot_type = pair_atomic_type; ///< Type of hash map slots using atomic_ctr_type = cuda::atomic; ///< Atomic counter type using allocator_type = Allocator; ///< Allocator type - using slot_allocator_type = typename std::allocator_traits::rebind_alloc< + using slot_allocator_type = typename std::allocator_traits::template rebind_alloc< pair_atomic_type>; ///< Type of the allocator to (de)allocate slots - using counter_allocator_type = typename std::allocator_traits::rebind_alloc< + using counter_allocator_type = typename std::allocator_traits::template rebind_alloc< atomic_ctr_type>; ///< Type of the allocator to (de)allocate atomic counters #if !defined(CUCO_HAS_INDEPENDENT_THREADS)