diff --git a/include/experimental/__p0009_bits/extents.hpp b/include/experimental/__p0009_bits/extents.hpp index c075ed61..9a28c3ed 100644 --- a/include/experimental/__p0009_bits/extents.hpp +++ b/include/experimental/__p0009_bits/extents.hpp @@ -58,7 +58,7 @@ __check_compatible_extents( template MDSPAN_INLINE_FUNCTION static constexpr bool are_valid_indices() { - return + return (std::is_convertible::value && ... && true) && (std::is_nothrow_constructible::value && ... && true); } @@ -148,7 +148,8 @@ struct index_sequence_scan_impl { template struct index_sequence_scan_impl { -#if defined(__NVCC__) || defined(__NVCOMPILER) +#if defined(__NVCC__) || defined(__NVCOMPILER) || \ + defined(_MDSPAN_COMPILER_INTEL) // NVCC warns about pointless comparison with 0 for R==0 and r being const // evaluatable and also 0. MDSPAN_INLINE_FUNCTION diff --git a/include/experimental/__p0009_bits/layout_left.hpp b/include/experimental/__p0009_bits/layout_left.hpp index 7468692e..83ed9ef7 100644 --- a/include/experimental/__p0009_bits/layout_left.hpp +++ b/include/experimental/__p0009_bits/layout_left.hpp @@ -254,7 +254,8 @@ class layout_left::mapping { // [mdspan.submdspan.mapping], submdspan mapping specialization template - constexpr auto submdspan_mapping_impl( + MDSPAN_INLINE_FUNCTION + constexpr auto submdspan_mapping_impl( SliceSpecifiers... slices) const; template diff --git a/include/experimental/__p0009_bits/layout_right.hpp b/include/experimental/__p0009_bits/layout_right.hpp index 3ee65f19..3d3927df 100644 --- a/include/experimental/__p0009_bits/layout_right.hpp +++ b/include/experimental/__p0009_bits/layout_right.hpp @@ -252,7 +252,8 @@ class layout_right::mapping { // [mdspan.submdspan.mapping], submdspan mapping specialization template - constexpr auto submdspan_mapping_impl( + MDSPAN_INLINE_FUNCTION + constexpr auto submdspan_mapping_impl( SliceSpecifiers... slices) const; template diff --git a/include/experimental/__p0009_bits/layout_stride.hpp b/include/experimental/__p0009_bits/layout_stride.hpp index 773efec3..15ad577d 100644 --- a/include/experimental/__p0009_bits/layout_stride.hpp +++ b/include/experimental/__p0009_bits/layout_stride.hpp @@ -549,7 +549,8 @@ struct layout_stride { // [mdspan.submdspan.mapping], submdspan mapping specialization template - constexpr auto submdspan_mapping_impl( + MDSPAN_INLINE_FUNCTION + constexpr auto submdspan_mapping_impl( SliceSpecifiers... slices) const; template diff --git a/include/experimental/__p2630_bits/submdspan_mapping.hpp b/include/experimental/__p2630_bits/submdspan_mapping.hpp index 94fba86c..ca6948c9 100644 --- a/include/experimental/__p2630_bits/submdspan_mapping.hpp +++ b/include/experimental/__p2630_bits/submdspan_mapping.hpp @@ -31,10 +31,6 @@ template struct submdspan_mapping_result { }; namespace detail { -using detail::first_of; -using detail::stride_of; -using detail::inv_map_rank; - // constructs sub strides template MDSPAN_INLINE_FUNCTION diff --git a/include/experimental/__p2642_bits/layout_padded.hpp b/include/experimental/__p2642_bits/layout_padded.hpp index 8af1d00f..a8014867 100644 --- a/include/experimental/__p2642_bits/layout_padded.hpp +++ b/include/experimental/__p2642_bits/layout_padded.hpp @@ -104,10 +104,10 @@ struct padded_extent { } MDSPAN_INLINE_FUNCTION static constexpr static_array_type - init_padding(const _Extents &exts, - index_type padding_value) { + init_padding([[maybe_unused]] const _Extents &exts, + [[maybe_unused]] index_type pv) { if constexpr (_Extents::rank() > 1) { - return {find_next_multiple(padding_value, + return {find_next_multiple(pv, exts.extent(_ExtentToPadIdx))}; } else { return {}; @@ -116,7 +116,7 @@ struct padded_extent { template MDSPAN_INLINE_FUNCTION static constexpr static_array_type - init_padding(const _Mapping &other_mapping, + init_padding([[maybe_unused]] const _Mapping &other_mapping, std::integral_constant) { if constexpr (_Extents::rank() > 1) { return {other_mapping.stride(_PaddingStrideIdx)};