diff --git a/sycl/doc/extensions/experimental/sycl_ext_oneapi_properties.asciidoc b/sycl/doc/extensions/experimental/sycl_ext_oneapi_properties.asciidoc index 82c6d6fb454c6..9555e92dcc359 100644 --- a/sycl/doc/extensions/experimental/sycl_ext_oneapi_properties.asciidoc +++ b/sycl/doc/extensions/experimental/sycl_ext_oneapi_properties.asciidoc @@ -200,11 +200,10 @@ inline constexpr boo_key::value_t boo; === Property traits All runtime and compile-time-constant properties must have a specialization of -`is_property_key` and `is_property_value` that inherits from -`std::true_type`, and they must have a specialization of `is_property_key_of` -and `is_property_value_of` -that inherits from `std::true_type` for each SYCL runtime class that the -property can be applied to. All have a base case which inherits from `std::false_type`. +`is_property_key` that inherits from `std::true_type`, and they must have a +specialization of `is_property_key_of` that inherits from `std::true_type` for +each SYCL runtime class that the property can be applied to. All have a base +case which inherits from `std::false_type`. ```c++ namespace sycl::ext::oneapi::experimental { @@ -221,18 +220,6 @@ struct is_property_key_of : std::true_type {}; template struct is_property_key_of : std::true_type {}; -// is_property_value and is_property_value_of based on is_property_key(_of) -template struct is_property_value; -template struct is_property_value_of; -// Specialization for runtime properties -template struct is_property_value0)>> : is_property_key {}; -template struct is_property_value_of0)>> : is_property_key_of {}; -// Specialization for compile-time-constant properties -template struct is_property_value> : - is_property_key {}; -template struct is_property_value_of> : - is_property_key_of {}; - } // namespace experimental::oneapi::ext::sycl ``` diff --git a/sycl/include/sycl/ext/oneapi/experimental/cluster_group_prop.hpp b/sycl/include/sycl/ext/oneapi/experimental/cluster_group_prop.hpp index 31487beffd810..22ded7b960777 100644 --- a/sycl/include/sycl/ext/oneapi/experimental/cluster_group_prop.hpp +++ b/sycl/include/sycl/ext/oneapi/experimental/cluster_group_prop.hpp @@ -47,28 +47,6 @@ struct is_property_key_of, T> : std::true_type {}; template struct is_property_key_of, T> : std::true_type {}; -template <> -struct is_property_value> - : is_property_key> {}; -template <> -struct is_property_value> - : is_property_key> {}; -template <> -struct is_property_value> - : is_property_key> {}; - -template -struct is_property_value_of, O> - : is_property_key_of, O> {}; - -template -struct is_property_value_of, O> - : is_property_key_of, O> {}; - -template -struct is_property_value_of, O> - : is_property_key_of, O> {}; - namespace detail { template constexpr std::size_t getClusterDim() { if constexpr (PropertiesT::template has_property< diff --git a/sycl/include/sycl/ext/oneapi/properties/property_value.hpp b/sycl/include/sycl/ext/oneapi/properties/property_value.hpp index e208f59d85830..bd57cc7d1debf 100644 --- a/sycl/include/sycl/ext/oneapi/properties/property_value.hpp +++ b/sycl/include/sycl/ext/oneapi/properties/property_value.hpp @@ -57,22 +57,6 @@ operator!=(const property_value &, return (!std::is_same::value || ...); } -template struct is_property_value { - static constexpr bool value = - detail::IsRuntimeProperty::value && is_property_key::value; -}; -template struct is_property_value_of { - static constexpr bool value = - detail::IsRuntimeProperty::value && is_property_key_of::value; -}; -// Specialization for compile-time-constant properties -template -struct is_property_value> - : is_property_key {}; -template -struct is_property_value_of> - : is_property_key_of {}; - namespace detail { // Specialization of PropertyID for propagating IDs through property_value. diff --git a/sycl/include/syclcompat/traits.hpp b/sycl/include/syclcompat/traits.hpp index 7ed4d765251bc..2d7aa9eeb48e4 100644 --- a/sycl/include/syclcompat/traits.hpp +++ b/sycl/include/syclcompat/traits.hpp @@ -249,8 +249,9 @@ inline constexpr bool is_launch_policy_v = is_launch_policy::value; // Trait to detect if all args are sycl_exp property types template -using are_all_props = std::conjunction< - sycl::ext::oneapi::experimental::is_property_value...>; +using are_all_props = + sycl::ext::oneapi::experimental::detail::AllPropertyValues< + std::tuple>; } // namespace experimental::detail diff --git a/sycl/test/extensions/annotated_arg/annotated_arg_properties.cpp b/sycl/test/extensions/annotated_arg/annotated_arg_properties.cpp index 9fd5b926f023a..01ba48c4cd8a5 100644 --- a/sycl/test/extensions/annotated_arg/annotated_arg_properties.cpp +++ b/sycl/test/extensions/annotated_arg/annotated_arg_properties.cpp @@ -18,7 +18,7 @@ static annotated_arg, struct A {}; -// Checks is_property_key_of and is_property_value_of for T. +// Checks is_property_key_of for T. template void checkIsPropertyOf() { static_assert(is_property_key_of::value); static_assert(is_property_key_of::value); @@ -31,19 +31,6 @@ template void checkIsPropertyOf() { static_assert(is_property_key_of::value); static_assert(is_property_key_of::value); static_assert(is_property_key_of::value); - - static_assert(is_property_value_of::value); - static_assert(is_property_value_of::value); - static_assert(is_property_value_of::value); - - static_assert(is_property_value_of), T>::value); - static_assert(is_property_value_of), T>::value); - static_assert(is_property_value_of), T>::value); - static_assert(is_property_value_of), T>::value); - static_assert(is_property_value_of::value); - static_assert(is_property_value_of), T>::value); - static_assert( - is_property_value_of::value); } int main() { diff --git a/sycl/test/extensions/annotated_ptr/annotated_ptr_properties.cpp b/sycl/test/extensions/annotated_ptr/annotated_ptr_properties.cpp index 19f42b3764429..b84f0d503639f 100644 --- a/sycl/test/extensions/annotated_ptr/annotated_ptr_properties.cpp +++ b/sycl/test/extensions/annotated_ptr/annotated_ptr_properties.cpp @@ -16,7 +16,7 @@ static annotated_ptr, struct A {}; -// Checks is_property_key_of and is_property_value_of for T. +// Checks is_property_key_of for T. template void checkIsPropertyOf() { static_assert(is_property_key_of::value); static_assert(is_property_key_of::value); @@ -29,23 +29,9 @@ template void checkIsPropertyOf() { static_assert(is_property_key_of::value); static_assert(is_property_key_of::value); static_assert(is_property_key_of::value); - - static_assert(is_property_value_of::value); - static_assert(is_property_value_of::value); - static_assert(is_property_value_of::value); - - static_assert(is_property_value_of), T>::value); - static_assert(is_property_value_of), T>::value); - static_assert(is_property_value_of), T>::value); - static_assert(is_property_value_of), T>::value); - static_assert(is_property_value_of::value); - static_assert(is_property_value_of), T>::value); - static_assert( - is_property_value_of::value); } -// Checks is_property_key_of and is_property_value_of are false for non-pointer -// type T. +// Checks is_property_key_of is false for non-pointer type T. template void checkIsValidPropertyOfNonPtr() { static_assert( is_valid_property::value == diff --git a/sycl/test/extensions/device_global/device_global_properties.cpp b/sycl/test/extensions/device_global/device_global_properties.cpp index 8a995ce8dd708..56afcb04b57fa 100644 --- a/sycl/test/extensions/device_global/device_global_properties.cpp +++ b/sycl/test/extensions/device_global/device_global_properties.cpp @@ -25,23 +25,12 @@ static device_global DeviceGlobal5; -// Checks is_property_key_of and is_property_value_of for T. +// Checks is_property_key_of for T. template void checkIsPropertyOf() { static_assert(is_property_key_of::value); static_assert(is_property_key_of::value); static_assert(is_property_key_of::value); static_assert(is_property_key_of::value); - - static_assert(is_property_value_of::value); - static_assert(is_property_value_of::value); - static_assert(is_property_value_of::value); - static_assert( - is_property_value_of::value); - static_assert(is_property_value_of::value); - static_assert(is_property_value_of::value); - static_assert(is_property_value_of::value); - static_assert(is_property_value_of::value); - static_assert(is_property_value_of::value); } int main() { @@ -50,16 +39,6 @@ int main() { static_assert(is_property_key::value); static_assert(is_property_key::value); - static_assert(is_property_value::value); - static_assert(is_property_value::value); - static_assert(is_property_value::value); - static_assert(is_property_value::value); - static_assert(is_property_value::value); - static_assert(is_property_value::value); - static_assert(is_property_value::value); - static_assert(is_property_value::value); - static_assert(is_property_value::value); - checkIsPropertyOf(); static_assert(DeviceGlobal1.has_property()); static_assert(!DeviceGlobal1.has_property()); diff --git a/sycl/test/extensions/fpga_mem/fpga_mem_properties.cpp b/sycl/test/extensions/fpga_mem/fpga_mem_properties.cpp index 88bbaddcd9fb4..7609d95c4998b 100644 --- a/sycl/test/extensions/fpga_mem/fpga_mem_properties.cpp +++ b/sycl/test/extensions/fpga_mem/fpga_mem_properties.cpp @@ -22,7 +22,7 @@ static intel::fpga_mem mem_multi; -// Checks is_property_key_of and oneapi::is_property_value_of for T. +// Checks is_property_key_of for T. template void checkIsPropertyOf() { static_assert(oneapi::is_property_key_of::value); static_assert(oneapi::is_property_key_of::value); @@ -51,34 +51,6 @@ int main() { static_assert(oneapi::is_property_key::value); static_assert(oneapi::is_property_key::value); - // Are all common values usable - static_assert( - oneapi::is_property_value::value); - static_assert( - oneapi::is_property_value::value); - static_assert( - oneapi::is_property_value)>::value); - static_assert( - oneapi::is_property_value)>::value); - static_assert( - oneapi::is_property_value)>::value); - static_assert(oneapi::is_property_value< - decltype(intel::bi_directional_ports_false)>::value); - static_assert(oneapi::is_property_value< - decltype(intel::bi_directional_ports_true)>::value); - static_assert( - oneapi::is_property_value::value); - static_assert( - oneapi::is_property_value::value); - static_assert( - oneapi::is_property_value::value); - static_assert(oneapi::is_property_value< - decltype(intel::ram_stitching_max_fmax)>::value); - static_assert( - oneapi::is_property_value)>::value); - static_assert( - oneapi::is_property_value)>::value); - // Check that only the property that are expected are associated with obj checkIsPropertyOf(); static_assert(mem_num.has_property()); diff --git a/sycl/test/extensions/properties/properties_device_global.cpp b/sycl/test/extensions/properties/properties_device_global.cpp index f859852ccb4c6..743f095036ecd 100644 --- a/sycl/test/extensions/properties/properties_device_global.cpp +++ b/sycl/test/extensions/properties/properties_device_global.cpp @@ -17,20 +17,6 @@ int main() { static_assert(is_property_key::value); static_assert(is_property_key::value); - // Check that is_property_value is correctly specialized. - static_assert(is_property_value::value); - static_assert(is_property_value)>::value); - static_assert(is_property_value::value); - static_assert(is_property_value::value); - static_assert(is_property_value::value); - static_assert(is_property_value::value); - static_assert(is_property_value)>::value); - static_assert(is_property_value::value); - static_assert(is_property_value::value); - static_assert(is_property_value)>::value); - static_assert(is_property_value::value); - static_assert(is_property_value::value); - // Checks that fully specialized properties are the same as the templated // variants. static_assert(std::is_same_v - -#include "mock_compile_time_properties.hpp" - -class NotAPropertyKey {}; - -int main() { - // Check is_property_value for compile-time property values. - static_assert(sycl::ext::oneapi::experimental::is_property_value< - decltype(sycl::ext::oneapi::experimental::bar)>::value); - static_assert(sycl::ext::oneapi::experimental::is_property_value< - decltype(sycl::ext::oneapi::experimental::baz<42>)>::value); - static_assert(sycl::ext::oneapi::experimental::is_property_value< - decltype(sycl::ext::oneapi::experimental::boo)>::value); - static_assert( - sycl::ext::oneapi::experimental::is_property_value< - decltype(sycl::ext::oneapi::experimental::boo)>::value); - - // Check is_property_value for runtime property values. - static_assert(sycl::ext::oneapi::experimental::is_property_value< - sycl::ext::oneapi::experimental::foo>::value); - static_assert(sycl::ext::oneapi::experimental::is_property_value< - sycl::ext::oneapi::experimental::foz>::value); - - // Check is_property_value for compile-time property keys. - static_assert(!sycl::ext::oneapi::experimental::is_property_value< - sycl::ext::oneapi::experimental::bar_key>::value); - static_assert(!sycl::ext::oneapi::experimental::is_property_value< - sycl::ext::oneapi::experimental::baz_key>::value); - static_assert(!sycl::ext::oneapi::experimental::is_property_value< - sycl::ext::oneapi::experimental::boo_key>::value); - - // Check is_property_value for runtime property keys. - // NOTE: For runtime properties the key is an alias of the value. - static_assert(sycl::ext::oneapi::experimental::is_property_value< - sycl::ext::oneapi::experimental::foo_key>::value); - static_assert(sycl::ext::oneapi::experimental::is_property_value< - sycl::ext::oneapi::experimental::foz_key>::value); - - // Check is_property_value for non-property-key types. - static_assert( - !sycl::ext::oneapi::experimental::is_property_value::value); - static_assert(!sycl::ext::oneapi::experimental::is_property_value< - NotAPropertyKey>::value); - - // Check is_property_value_of for compile-time property values. - static_assert(sycl::ext::oneapi::experimental::is_property_value< - decltype(sycl::ext::oneapi::experimental::bar)>::value); - static_assert(sycl::ext::oneapi::experimental::is_property_value_of< - decltype(sycl::ext::oneapi::experimental::baz<42>), - sycl::queue>::value); - static_assert(sycl::ext::oneapi::experimental::is_property_value_of< - decltype(sycl::ext::oneapi::experimental::boo), - sycl::queue>::value); - static_assert(sycl::ext::oneapi::experimental::is_property_value_of< - decltype(sycl::ext::oneapi::experimental::boo), - sycl::queue>::value); - - // Check is_property_value_of for runtime property keys. - static_assert(sycl::ext::oneapi::experimental::is_property_value_of< - sycl::ext::oneapi::experimental::foo, sycl::queue>::value); - static_assert(sycl::ext::oneapi::experimental::is_property_value_of< - sycl::ext::oneapi::experimental::foz, sycl::queue>::value); - - // Check is_property_value_of for compile-time property keys. - static_assert(!sycl::ext::oneapi::experimental::is_property_value_of< - sycl::ext::oneapi::experimental::bar_key, sycl::queue>::value); - static_assert(!sycl::ext::oneapi::experimental::is_property_value_of< - sycl::ext::oneapi::experimental::baz_key, sycl::queue>::value); - static_assert(!sycl::ext::oneapi::experimental::is_property_value_of< - sycl::ext::oneapi::experimental::boo_key, sycl::queue>::value); - - // Check is_property_value_of for runtime property keys. - // NOTE: For runtime properties the key is an alias of the value. - static_assert(sycl::ext::oneapi::experimental::is_property_value_of< - sycl::ext::oneapi::experimental::foo_key, sycl::queue>::value); - static_assert(sycl::ext::oneapi::experimental::is_property_value_of< - sycl::ext::oneapi::experimental::foz_key, sycl::queue>::value); - - // Check is_property_value_of for non-property-key types. - static_assert(!sycl::ext::oneapi::experimental::is_property_value_of< - int, sycl::queue>::value); - static_assert(!sycl::ext::oneapi::experimental::is_property_value_of< - NotAPropertyKey, sycl::queue>::value); - - return 0; -} diff --git a/sycl/test/extensions/properties/properties_kernel.cpp b/sycl/test/extensions/properties/properties_kernel.cpp index 0024cd4cb221c..b5ffd88887289 100644 --- a/sycl/test/extensions/properties/properties_kernel.cpp +++ b/sycl/test/extensions/properties/properties_kernel.cpp @@ -29,7 +29,6 @@ using device_has_all = aspect::ext_intel_memory_bus_width>); template inline void singleAspectDeviceHasChecks() { - static_assert(is_property_value)>::value); static_assert(std::is_same_v)::key_t>); static_assert(decltype(device_has)::value.size() == 1); @@ -51,21 +50,6 @@ int main() { static_assert(sycl::ext::oneapi::experimental::detail::HasCompileTimeEffect< device_has_key::value_t>::value); - static_assert(is_property_value)>::value); - static_assert(is_property_value)>::value); - static_assert(is_property_value)>::value); - static_assert(is_property_value)>::value); - static_assert(is_property_value)>::value); - static_assert( - is_property_value)>::value); - static_assert(is_property_value)>::value); - static_assert(is_property_value)>::value); - static_assert(is_property_value)>::value); - static_assert( - is_property_value)>::value); - static_assert( - is_property_value)>::value); - static_assert( std::is_same_v)::key_t>); static_assert(std::is_same_v(); singleAspectDeviceHasChecks(); - static_assert(is_property_value)>::value); static_assert(std::is_same_v)::key_t>); static_assert(decltype(device_has<>)::value.size() == 0); - static_assert(is_property_value::value); static_assert(std::is_same_v); static_assert(device_has_all::value.size() == 35); static_assert(device_has_all::value[0] == aspect::cpu); diff --git a/sycl/test/extensions/properties/properties_kernel_cache_config.cpp b/sycl/test/extensions/properties/properties_kernel_cache_config.cpp index 910a41b49cfb9..e1d43ad43e84f 100644 --- a/sycl/test/extensions/properties/properties_kernel_cache_config.cpp +++ b/sycl/test/extensions/properties/properties_kernel_cache_config.cpp @@ -9,12 +9,6 @@ int main() { static_assert(sycl::ext::oneapi::experimental::is_property_key< cache_config_key>::value); - // Check that oneapi::experimental::is_property_value is correctly specialized - static_assert(sycl::ext::oneapi::experimental::is_property_value< - decltype(cache_config{large_slm})>::value); - static_assert(sycl::ext::oneapi::experimental::is_property_value< - decltype(cache_config{large_data})>::value); - // Check that property lists will accept the new properties sycl::ext::oneapi::experimental::properties Props1( cache_config{large_slm}); diff --git a/sycl/test/extensions/properties/properties_kernel_fpga.cpp b/sycl/test/extensions/properties/properties_kernel_fpga.cpp index 5b50752908d2a..ae910d890b056 100644 --- a/sycl/test/extensions/properties/properties_kernel_fpga.cpp +++ b/sycl/test/extensions/properties/properties_kernel_fpga.cpp @@ -29,40 +29,6 @@ int main() { intel::experimental::streaming_interface_options_enum:: accept_downstream_stall>>::value); - // Check that oneapi::experimental::is_property_value is correctly specialized - static_assert(oneapi::experimental::is_property_value< - decltype(intel::experimental::streaming_interface< - intel::experimental::streaming_interface_options_enum:: - accept_downstream_stall>)>::value); - static_assert(oneapi::experimental::is_property_value< - decltype(intel::experimental::streaming_interface< - intel::experimental::streaming_interface_options_enum:: - remove_downstream_stall>)>::value); - static_assert( - oneapi::experimental::is_property_value< - decltype(intel::experimental::register_map_interface< - intel::experimental::register_map_interface_options_enum:: - wait_for_done_write>)>::value); - static_assert( - oneapi::experimental::is_property_value< - decltype(intel::experimental::register_map_interface< - intel::experimental::register_map_interface_options_enum:: - do_not_wait_for_done_write>)>::value); - static_assert(oneapi::experimental::is_property_value< - decltype(intel::experimental::pipelined<-1>)>::value); - static_assert(oneapi::experimental::is_property_value< - decltype(intel::experimental::pipelined<0>)>::value); - static_assert(oneapi::experimental::is_property_value< - decltype(intel::experimental::pipelined<4>)>::value); - static_assert(oneapi::experimental::is_property_value< - decltype(intel::experimental::fpga_cluster< - intel::experimental::fpga_cluster_options_enum:: - stall_enable>)>::value); - static_assert(oneapi::experimental::is_property_value< - decltype(intel::experimental::fpga_cluster< - intel::experimental::fpga_cluster_options_enum:: - stall_free>)>::value); - // Checks that fully specialized properties are the same as the templated // variants. static_assert(std::is_same_v< diff --git a/sycl/test/extensions/properties/properties_latency_control.cpp b/sycl/test/extensions/properties/properties_latency_control.cpp index b00e74ad6d93d..7d05845c2c963 100644 --- a/sycl/test/extensions/properties/properties_latency_control.cpp +++ b/sycl/test/extensions/properties/properties_latency_control.cpp @@ -14,14 +14,6 @@ int main() { static_assert(oneapi::experimental::is_property_key< intel::experimental::latency_constraint_key>::value); - // Check that oneapi::experimental::is_property_value is correctly specialized - static_assert(oneapi::experimental::is_property_value< - decltype(intel::experimental::latency_anchor_id<-1>)>::value); - static_assert(oneapi::experimental::is_property_value< - decltype(intel::experimental::latency_constraint< - 0, intel::experimental::latency_control_type::none, - 0>)>::value); - // Check that property lists will accept the new properties using P = decltype(oneapi::experimental::properties( intel::experimental::latency_anchor_id<-1>, diff --git a/sycl/test/extensions/properties/properties_pipe.cpp b/sycl/test/extensions/properties/properties_pipe.cpp index 892a311cab13d..cc0041fed9987 100644 --- a/sycl/test/extensions/properties/properties_pipe.cpp +++ b/sycl/test/extensions/properties/properties_pipe.cpp @@ -25,52 +25,6 @@ int main() { static_assert(sycl::ext::oneapi::experimental::is_property_key< sycl::ext::intel::experimental::protocol_key>::value); - // Check that is_property_value is correctly specialized. - static_assert( - sycl::ext::oneapi::experimental::is_property_value< - decltype(sycl::ext::intel::experimental::ready_latency<3>)>::value); - static_assert( - sycl::ext::oneapi::experimental::is_property_value< - decltype(sycl::ext::intel::experimental::bits_per_symbol<3>)>::value); - - static_assert( - sycl::ext::oneapi::experimental::is_property_value< - decltype(sycl::ext::intel::experimental::uses_valid)>::value); - static_assert( - sycl::ext::oneapi::experimental::is_property_value< - decltype(sycl::ext::intel::experimental::uses_valid_on)>::value); - static_assert( - sycl::ext::oneapi::experimental::is_property_value< - decltype(sycl::ext::intel::experimental::uses_valid_off)>::value); - - static_assert(sycl::ext::oneapi::experimental::is_property_value< - decltype(sycl::ext::intel::experimental:: - first_symbol_in_high_order_bits)>::value); - static_assert(sycl::ext::oneapi::experimental::is_property_value< - decltype(sycl::ext::intel::experimental:: - first_symbol_in_high_order_bits_on)>::value); - static_assert(sycl::ext::oneapi::experimental::is_property_value< - decltype(sycl::ext::intel::experimental:: - first_symbol_in_high_order_bits_off)>::value); - - static_assert( - sycl::ext::oneapi::experimental::is_property_value< - decltype(sycl::ext::intel::experimental::protocol)>:: - value); - static_assert( - sycl::ext::oneapi::experimental::is_property_value< - decltype(sycl::ext::intel::experimental::protocol_avalon_streaming)>:: - value); - static_assert(sycl::ext::oneapi::experimental::is_property_value< - decltype(sycl::ext::intel::experimental:: - protocol_avalon_streaming_uses_ready)>::value); - static_assert( - sycl::ext::oneapi::experimental::is_property_value< - decltype(sycl::ext::intel::experimental::protocol_avalon_mm)>::value); - static_assert(sycl::ext::oneapi::experimental::is_property_value< - decltype(sycl::ext::intel::experimental:: - protocol_avalon_mm_uses_ready)>::value); - // Checks that fully specialized properties are the same as the templated // variants. static_assert(std::is_same_v< diff --git a/sycl/test/extensions/properties/properties_task_sequence.cpp b/sycl/test/extensions/properties/properties_task_sequence.cpp index cab6fa36b9d2b..299a934b59cf7 100644 --- a/sycl/test/extensions/properties/properties_task_sequence.cpp +++ b/sycl/test/extensions/properties/properties_task_sequence.cpp @@ -18,20 +18,6 @@ int main() { static_assert(oneapi::experimental::is_property_key< intel::experimental::invocation_capacity_key>::value); - // Check that is_property_value is correctly specialized - static_assert(oneapi::experimental::is_property_value< - decltype(intel::experimental::balanced)>::value); - static_assert(oneapi::experimental::is_property_value< - decltype(intel::experimental::response_capacity<0>)>::value); - static_assert(oneapi::experimental::is_property_value< - decltype(intel::experimental::response_capacity< - TestResponseCapacity>)>::value); - static_assert(oneapi::experimental::is_property_value< - decltype(intel::experimental::invocation_capacity<0>)>::value); - static_assert(oneapi::experimental::is_property_value< - decltype(intel::experimental::invocation_capacity< - TestInvocationCapacity>)>::value); - // Check that property lists will accept the new properties. using P = decltype(oneapi::experimental::properties( intel::experimental::balanced, diff --git a/sycl/test/extensions/task_sequence/task_sequence_properties.cpp b/sycl/test/extensions/task_sequence/task_sequence_properties.cpp index d5ca162bc4080..8de8ac28cf5b2 100644 --- a/sycl/test/extensions/task_sequence/task_sequence_properties.cpp +++ b/sycl/test/extensions/task_sequence/task_sequence_properties.cpp @@ -21,22 +21,13 @@ static task_sequence< static task_sequence))> TaskSequence3; -// Checks is_property_key_of and is_property_value_of for T. +// Checks is_property_key_of for T. template void checkIsPropertyOf() { static_assert(is_property_key_of::value); static_assert(is_property_key_of::value); static_assert(is_property_key_of::value); static_assert(is_property_key_of::value); static_assert(is_property_key_of::value); - - static_assert(is_property_value_of::value); - static_assert(is_property_value_of), T>::value); - static_assert( - is_property_value_of), T>::value); - static_assert(is_property_value_of), T>::value); - static_assert(is_property_value_of< - decltype(fpga_cluster), - T>::value); } int main() { @@ -46,15 +37,6 @@ int main() { static_assert(is_property_key::value); static_assert(is_property_key::value); - static_assert(is_property_value::value); - static_assert(is_property_value)>::value); - static_assert(is_property_value)>::value); - static_assert(is_property_value)>::value); - static_assert(is_property_value)>::value); - static_assert(is_property_value)>::value); - static_assert(is_property_value::value); - static_assert(is_property_value::value); - checkIsPropertyOf(); static_assert(TaskSequence1.has_property()); static_assert(TaskSequence1.has_property());